Я использую CreateProcess () с флагами запуска, установленными в STARTF_USESHOWWINDOW и SW_HIDE, чтобы запустить приложение в фоновом режиме со скрытым окном.
Я делаю это для запуска планового обслуживания и не хочу, чтобы меня беспокоили окна.
В большинстве случаев окна скрыты, но в некоторых случаях окно программы выскакивает прямо перед вами (например, Google Chrome - я начал тестирование с различными приложениями, чтобы выяснить, не было ли это когда-то проблемой, но нет .. .).
Это случается реже в Windows XP, но часто случается в Vista.
Есть ли флаг, который мне не хватает? Есть ли другой способ создать процесс со скрытым окном?
Спасибо!
мой пример кода:
char *ProgramName
STARTUPINFO StartupInfoF;
PROCESS_INFORMATION ProcessInfoF;
memset(&StartupInfoF, 0, sizeof(StartupInfoF));
memset(&ProcessInfoF, 0, sizeof(ProcessInfoF));
StartupInfoF.cb = sizeof(StartupInfoF);
StartupInfoF.wShowWindow = SW_HIDE;
StartupInfoF.dwFlags = STARTF_USESHOWWINDOW;
if (CreateProcess(ProgramName,
"",
0,
0,
FALSE,
DETACHED_PROCESS,
0,
0,
&StartupInfoF,
&ProcessInfoF) == FALSE)
{
// error
}
else
{
// OK
}