【发布时间】:2011-04-21 18:06:38
【问题描述】:
我正在尝试从我无权访问其代码的进程中关闭各个窗口。该程序会在按下按钮时生成看起来像 Internet Explorer 的窗口,但它们不会创建 iexplorer.exe 进程(它们显然都存在于应用程序进程中)。我已经设法通过一些 API 调用获取每个“假”IE 窗口的进程句柄和窗口句柄,但我不知道如何只关闭进程中的给定窗口。
我试过了
SendMessage(WindowHandles[i], 0x0010, 0, 0);
这是WM_CLOSE消息,但它关闭进程中的所有窗口并结束进程。有没有办法以编程方式执行类似于我按下窗口右上角的 X 时发生的事情?该窗口没有执行任何计算或影响任何其他内存空间,因此我可以根据需要结束它,但是我已经尝试了所有我知道如何做的事情(DestroyWindow; 返回错误 5 权限被拒绝,WM_CLOSE; 有效但关闭进程 WM_QUIT;它给出错误 2 文件未找到并且什么也不做)。
有什么想法吗?
【问题讨论】:
-
WM_CLOSE 是正确的做法。
-
当您使用 X 按钮关闭窗口时,进程是否结束?
标签: windows winapi process sendmessage