在C#中收到有关新子窗口句柄的通知

时间:2014-08-01 12:29:31

标签: c# .net windows

我一直在搞乱一些代码,允许获取正在运行的进程的Window Handle,以及其中所有子对象的句柄 - 例如对calc.exe运行它给出了计算的hWnd,加上每个按钮的句柄等,这些都是直接的。除此之外,我正在使用ProcessWatcher来监视特定的流程启动。

现在,我遇到问题,正在弄清楚是否可以以某种方式订阅,以获得有关窗口句柄的创建/删除的通知。

目的是使用“新”窗口句柄来获取有关该对象的详细信息,并将其与应用程序应该监视的项目列表进行比较,例如:应用程序将等待notepad.exe进程启动,一旦看到此进程,它就知道它应该注意正在创建一个名为“另存为”的新窗口,即与notepad.exe进程相关的人

目前,我能想到的唯一方法是通过一个计时器,在一段时间之后,手动枚举所有窗口句柄,按照我想要的方式对它们进行排序,但我想这会非常耗费资源。 ,效率低下。

提前致谢...

0 个答案:

没有答案