[Разработчики терминала!] За бессчетное количество версий MT4...

 

...уже наверное можно было добавить параметр командной строки, позволяющий запускать терминал в режиме SW_MINIMIZE (окно, свернутое в трей по-умолчанию). Очень напрягает, когда окна терминала, запускаемого в автоматическом режиме, вываливаются поверх уже открытых приложений, не давая работать!

(совет запускать терминал через bat-файл прошу не давать - нужен полный контроль за запущенным процессом, для возможности его ликвидации при зависании)

 
SaiborEye:

...уже наверное можно было добавить параметр командной строки, позволяющий запускать терминал в режиме SW_MINIMIZE (окно, свернутое в трей по-умолчанию). Очень напрягает, когда окна терминала, запускаемого в автоматическом режиме, вываливаются поверх уже открытых приложений, не давая работать!

(совет запускать терминал через bat-файл прошу не давать - нужен полный контроль за запущенным процессом, для возможности его ликвидации при зависании)

А чем настройка в свойствах ярлыка не устраивает?


или вы запускаете не через ярлык?

 
Alexey Viktorov:

А чем настройка в свойствах ярлыка не устраивает?


или вы запускаете не через ярлык?


Запускаю из приложения через создание процесса. То есть, не вручную. 

 
SaiborEye:

Запускаю из приложения через создание процесса. То есть, не вручную. 

Было здесь обсуждение, поищите. Вроде, получалось запускать свернутым.

 
SaiborEye:


Запускаю из приложения через создание процесса. То есть, не вручную. 

Через ShellExecute или через CreateProcess? Если через первую функцию, то используйте SW_MINIMIZE в качестве последнего аргумента функции. А вот через CreateProcess не получится управлять окном. Так что используйте ShellExecute.

Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Вызов функции - Функции - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Если кто-то, как и я, использует в работе Qt, для запуска терминала в свернутом виде подойдет следующий код (не идеальное решение, активное окно все равно на несколько секунд теряет фокус ввода, но, по крайней мере, ничего поверх не "вываливается"):


QProcess *term_process = new QProcess(this);
term_process->setCreateProcessArgumentsModifier([] (QProcess::CreateProcessArguments *pCreateProcArgs)
  {
   pCreateProcArgs->startupInfo->dwFlags |= STARTF_USESHOWWINDOW | SW_SHOWMINNOACTIVE;
   pCreateProcArgs->startupInfo->wShowWindow |= SW_MINIMIZE | SW_SHOWNOACTIVATE;
  });
term_process->start(TerminalExecutable,arguments);
           
Причина обращения: