Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 关闭窗口(通过它的窗口句柄),而不关闭拥有它的进程_Windows_Winapi_Process_Sendmessage - Fatal编程技术网

Windows 关闭窗口(通过它的窗口句柄),而不关闭拥有它的进程

Windows 关闭窗口(通过它的窗口句柄),而不关闭拥有它的进程,windows,winapi,process,sendmessage,Windows,Winapi,Process,Sendmessage,我正试图从我无权访问其代码的进程中关闭单个窗口。该程序一按按钮就生成了类似internet explorer窗口的窗口,但它们不创建iexplorer.exe进程(它们显然都位于应用程序进程内)。我通过一些API调用成功地获得了每个“假”IE窗口的进程句柄和窗口句柄,但我不知道如何在进程中只关闭给定的窗口 我试过了 SendMessage(WindowHandles[i], 0x0010, 0, 0); 这是WM_CLOSE消息,但它会关闭进程中的所有窗口并结束进程。有没有一种方法可以以编程方

我正试图从我无权访问其代码的进程中关闭单个窗口。该程序一按按钮就生成了类似internet explorer窗口的窗口,但它们不创建iexplorer.exe进程(它们显然都位于应用程序进程内)。我通过一些API调用成功地获得了每个“假”IE窗口的进程句柄和窗口句柄,但我不知道如何在进程中只关闭给定的窗口

我试过了

SendMessage(WindowHandles[i], 0x0010, 0, 0);
这是WM_CLOSE消息,但它会关闭进程中的所有窗口并结束进程。有没有一种方法可以以编程方式执行类似于我按下窗口右上角的X时所发生的操作?窗口没有执行任何计算或影响任何其他内存空间,因此我可以按自己的意愿结束它,但我已经尝试了所有我知道如何做的事情(DestroyWindow;它返回错误5权限被拒绝,WM_关闭;它工作但关闭进程,WM_退出;它给出错误2文件未找到,并且什么也不做)


有什么想法吗?

如果技术上可行,你可以发送一个SW\u HIDE,尽管它不会关闭它们,但你可以在

如果技术上可行,你可以发送一个SW_HIDE,尽管它不会关闭它们,但你可以在

这是一个很好的建议,但这是否意味着窗口只是在某个地方占用内存?这不是最理想的解决方案,但如果有必要,我会这么做……另一种方法是模拟鼠标点击:)就在X的上方。既然你已经有了WM_lbuttonown和WM_LBUTTONUP的手柄,可能对生产来说不是一个好的解决方案。哈哈,这肯定是我考虑过的,但我想在我开始做那样的事之前我会先问问周围的人!很好的建议,但这是否意味着窗口只是在某个地方占用内存?这不是最理想的解决方案,但如果有必要,我会这么做……另一种方法是模拟鼠标点击:)就在X的上方。既然你已经有了WM_lbuttonown和WM_LBUTTONUP的手柄,可能对生产来说不是一个好的解决方案。哈哈,这肯定是我考虑过的,但我想在我开始做那样的事之前我会先问问周围的人!WM_CLOSE是正确的方法。当您使用X按钮关闭窗口时,进程是否结束?WM_CLOSE是正确的方法。当您使用X按钮关闭窗口时,进程是否结束?