Я пишу среду веб-тестирования для окон, которая использует несколько браузеров для тестирования веб-приложений.Я хочу запустить скрытые браузеры, но они не работают.
Я использую CreateProcess для запуска браузеров с флагом SW_HIDE
STARTUPINFO si;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;
PROCESS_INFORMATION pi;
ZeroMemory(&pi, sizeof(pi));
CreateProcess(NULL, const_cast<char*> (cmd.c_str()) , NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
Он отлично работает для Internet Explorer и других приложений,но терпит неудачу с Firefox и другими браузерами.Я знаю, что процесс может выбирать, следовать ли пройденным флагам или нет.Можно ли каким-то образом заставить его начать скрываться?
Я, вероятно, могу подождать, пока не появится окно, а затем спрятать его, получив ручку к открытому окну.Но я ищу более чистое решение.