Как получить HWND нового процесса, созданного CreateProcess
Я разрабатываю приложение для Windows, которое запускает некоторые исполняемые файлы сторонних производителей, такие как cmd, paint, notepad и т. д., используя функцию CreateProcess. Я хочу, чтобы функциональность скрывала и показывала окно этих программ EXE, используя HWND, или предлагала любое другое решение...
1 ответ
Решение
CreateProcess()
не возвращает HWND
нового процесса, так что вам придется найти его вручную. использование EnumWindows()
а также GetWindowThreadProcessId()
найти HWNDs
чьи идентификаторы процессов / потоков совпадают с теми же CreateProcess()
возвращается в PROCESS_INFORMATION
структура. Когда у вас есть HWND
с, вы можете использовать ShowWindow()
показать / скрыть их по мере необходимости.