我一直在搞乱一些代码,允许获取正在运行的进程的Window Handle,以及其中所有子对象的句柄 - 例如对calc.exe运行它给出了计算的hWnd,加上每个按钮的句柄等,这些都是直接的。除此之外,我正在使用ProcessWatcher来监视特定的流程启动。
现在,我遇到问题,正在弄清楚是否可以以某种方式订阅,以获得有关窗口句柄的创建/删除的通知。
目的是使用“新”窗口句柄来获取有关该对象的详细信息,并将其与应用程序应该监视的项目列表进行比较,例如:应用程序将等待notepad.exe进程启动,一旦看到此进程,它就知道它应该注意正在创建一个名为“另存为”的新窗口,即与notepad.exe进程相关的人
目前,我能想到的唯一方法是通过一个计时器,在一段时间之后,手动枚举所有窗口句柄,按照我想要的方式对它们进行排序,但我想这会非常耗费资源。 ,效率低下。
提前致谢...