我有一个流程foo.exe
,可以使用bar.exe
功能创建流程CreateProcess
。我希望(在foo.exe
中)枚举在bar.exe
中创建的窗口的控件,为此我(假设我)需要窗口HWND。
我知道bar.exe
中的所有窗口类,并且bar.exe
一次只为每个类创建一个窗口,因此我可以使用类名来查找我想要的窗口。
但是我应该使用什么函数来枚举另一个进程中的窗口?我正在寻找带有进程句柄或PID(由CreateProcess
函数返回)和EnumProc
回调过程的东西。我应该找到bar.exe
的线程ID(它是单线程应用程序)并将其与EnumThreadWindows
函数一起使用吗?
答案 0 :(得分:6)
EnumWindows
以枚举顶级窗口。GetWindowThreadProcessId
,以找出与之关联的进程ID。EnumChildWindows
以枚举该主窗口的所有子项。