Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.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
C++ 有没有一种方法,或者什么是“可接受的”方法来让所有窗口在当前进程下运行?_C++_Windows_Visual Studio 2008 - Fatal编程技术网

C++ 有没有一种方法,或者什么是“可接受的”方法来让所有窗口在当前进程下运行?

C++ 有没有一种方法,或者什么是“可接受的”方法来让所有窗口在当前进程下运行?,c++,windows,visual-studio-2008,C++,Windows,Visual Studio 2008,从另一个应用程序的进程地址空间,您如何获得它正在使用/显示的每个窗口的句柄 我知道您可以获取进程中运行的所有当前线程的快照,但我想知道是否有一种方法,使用线程ID获取hwnd值,然后您可以使用IsWindowhwnd进行测试,或者从逻辑上讲,如果您可以获取hwnd,您不知道您已经有了一个值窗口吗?但我想知道这是否可行,或者这确实是一种明智的做法 谢谢。您可以使用枚举与线程关联的所有非child窗口,然后使用获取其所有子窗口 或者,您可以使用获取桌面上的所有顶级窗口,并使用仅筛选与进程关联的窗口。

从另一个应用程序的进程地址空间,您如何获得它正在使用/显示的每个窗口的句柄

我知道您可以获取进程中运行的所有当前线程的快照,但我想知道是否有一种方法,使用线程ID获取hwnd值,然后您可以使用IsWindowhwnd进行测试,或者从逻辑上讲,如果您可以获取hwnd,您不知道您已经有了一个值窗口吗?但我想知道这是否可行,或者这确实是一种明智的做法

谢谢。

您可以使用枚举与线程关联的所有非child窗口,然后使用获取其所有子窗口

或者,您可以使用获取桌面上的所有顶级窗口,并使用仅筛选与进程关联的窗口。

您可以使用枚举与线程关联的所有非child窗口,然后使用获取其所有子窗口


或者,您可以使用获取桌面上的所有顶级窗口,并使用仅筛选与流程相关的窗口。

请注意,此信息是动态的。窗户总是来来去去去。顶级窗口通常是最持久的,但即使是这些窗口也可以在您“找到”它们之后立即消失,或者在您查找它们之后立即出现新窗口。

请注意,这些信息是非常动态的。窗户总是来来去去去。顶级窗口通常是最持久的,但即使是这些窗口也可以在您“找到”它们后立即消失,或者在您查找它们后立即出现新窗口