Как получить HWND нового процесса, созданного CreateProcess

Я разрабатываю приложение для Windows, которое запускает некоторые исполняемые файлы сторонних производителей, такие как cmd, paint, notepad и т. д., используя функцию CreateProcess. Я хочу, чтобы функциональность скрывала и показывала окно этих программ EXE, используя HWND, или предлагала любое другое решение...

1 ответ

Решение

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

Другие вопросы по тегам