Я запускаю другое приложение и устанавливаю его основное положение и размер HWND. Я использую флаги STARTUPINFO
, чтобы указать размеры окна, но похоже, что эти измерения выполняются только в том случае, если новый процесс использует CW_USEDEFAULT
в своей функции CreateWindow()
.Запуск процесса и всегда установка процесса HWND Размеры
Есть ли флаг/настройка в STARTUPINFO
, который всегда будет устанавливать новые измерения HWND-измерений? Я знаю еще одно решение, чтобы это найти процессы основного HWND и SetWindowPos()
но включает в себя перечисляя все окна, чтобы найти правильную и некоторые приложения занять некоторое время запуска, так что окно живо к тому времени, я называю EnumWindows()
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
si.dwX = x;
si.dwY = y;
si.dwXSize = w;
si.dwYSize = h;
// any flags I can set to give the STARTUPINFO dimensions priority?
si.dwFlags = ??
CreateProcess(_T("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"), _T(""),
NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL,
NULL, &si, &pi);