Мне нужно получить HANDLE
или HWND
скрытого окна, чтобы закрыть его с помощью EndTask((HWND)hProc,TRUE,TRUE);
. Я использовал все способы, перечисленные ниже, но ни один из них не работает. Когда я вручную установил дескриптор скрытого окна с помощью spy++, это сработало правильно.
ПРИМЕЧАНИЕ. Это окно не отображается с помощью ShowWindow()
, а затем используйте FindWindow()
. Как spy++ получает и показывает эти дескрипторы?
Я использовал:
FindProcessId
а потом
hProc = OpenProcess(SYNCHRONIZE|PROCESS_TERMINATE, FALSE, id);
or
hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe.th32ProcessID);
Процесс создания не работает: доступ запрещен.
FindWindow()
не работает для этого скрытого окна.
Как я могу получить дескриптор скрытого окна, чтобы завершить процесс?
EnumWindows()
. найти окно. - person hmjd   schedule 19.11.2012EndTask((HWND) hProc, TRUE, TRUE);
Это не имеет смысла. Вы не можете преобразовать дескриптор процесса в дескриптор окна. Кроме того,EndTask
устарел. Кроме того,EndTask
не обязательно останавливает программу, а просто пытается закрыть (и/или уничтожить) указанное окно. Многие программы не останавливаются, когда одно из их окон уничтожается. Что вы действительно пытаетесь сделать? - person Adrian McCarthy   schedule 20.11.2012