如何获取一个或多个隐藏窗口的HWND?

时间:2012-11-19 07:55:53

标签: c visual-studio-2010 winapi visual-c++ systems-programming

我需要获取隐藏窗口的HANDLEHWND才能使用EndTask((HWND)hProc,TRUE,TRUE);终止它。我使用了下面列出的所有方法,但没有一个工作。当我使用spy ++手动设置隐藏窗口的句柄时,这可以正常工作。

注意:此窗口不会显示ShowWindow(),然后使用FindWindow()。 spy ++如何获取并显示这些句柄?

enter image description here

我用过:

  1. FindProcessId

    然后

    hProc = OpenProcess(SYNCHRONIZE|PROCESS_TERMINATE, FALSE, id);
    

    hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe.th32ProcessID);
    
  2. 创建流程无效:拒绝访问。

  3. FindWindow()不适用于此隐藏窗口。

  4. 如何获取隐藏窗口的句柄,以便终止进程?

1 个答案:

答案 0 :(得分:2)

FindWindow将搜索任何类型的Windows,无论它是否隐藏都无关紧要。

也许您对FindWindow的问题是,您正在寻找的窗口,是另一个人的孩子,因此您无法找到。

所以你应该使用FindWindowEx并搜索孩子们的窗户。