我想知道当桌面上出现/打开一个新窗口时是否会触发任何事件。我可以使用COM、WMI、WinApis、UIAutomation或任何其他方法,但首选语言是C#。
实际需求: 一个进程有1个主窗口和许多其他窗口。其中一个窗口的类名为X(我使用pinvoke获取了此信息)。现在,每当进程中有通知时,该窗口会弹出几次。我不想显示这个窗口。我没有代码访问权限,因此无法禁用该窗口。那么,是否有任何方式可以获得事件或任何其他机制,以跟踪桌面,并在任何时候隐藏具有类名X的窗口。
如果我的问题不清楚,请告诉我。 谢谢。
编辑:Simon的答案非常好。我尝试了一下,能够收到除Lync的IM toast通知或Outlook新邮件通知等通知/Toast窗口之外的所有窗口的通知。我尝试了UIAUtomation的不同元素和Windows模式,但仍然无法获取它们...有什么想法吗?您可以阅读Simon答案中的评论以获取更多上下文/详细信息。再次感谢Simon介绍UIAUtomation的强大功能...太棒了!
实际需求: 一个进程有1个主窗口和许多其他窗口。其中一个窗口的类名为X(我使用pinvoke获取了此信息)。现在,每当进程中有通知时,该窗口会弹出几次。我不想显示这个窗口。我没有代码访问权限,因此无法禁用该窗口。那么,是否有任何方式可以获得事件或任何其他机制,以跟踪桌面,并在任何时候隐藏具有类名X的窗口。
如果我的问题不清楚,请告诉我。 谢谢。
编辑:Simon的答案非常好。我尝试了一下,能够收到除Lync的IM toast通知或Outlook新邮件通知等通知/Toast窗口之外的所有窗口的通知。我尝试了UIAUtomation的不同元素和Windows模式,但仍然无法获取它们...有什么想法吗?您可以阅读Simon答案中的评论以获取更多上下文/详细信息。再次感谢Simon介绍UIAUtomation的强大功能...太棒了!
WindowOpened
事件。 - undefined