【发布时间】:2012-10-24 22:56:01
【问题描述】:
是否有某种方法可以监视/拦截 Windows 中的窗口打开,然后阻止该窗口打开?这适用于已经在运行的应用程序,我不想停止该进程,只需关闭它产生的弹出窗口即可。
更新:
- 进程已在运行(例如,它在任务管理器中)但没有可见窗口。
- 在某个随机时间,该进程会弹出一个窗口
- 我手动关闭窗口(单击“确定”)。
- 此时进程继续运行,稍后会再次弹出一个窗口(重复这些步骤)。
我想自动化第 3 步,我必须手动关闭弹出窗口,方法是拦截打开和关闭它或隐藏它或从一开始就不让它打开。我不想通过轮询打开的窗口来做到这一点。我想接收某个窗口即将打开的事件。
我不控制这个其他应用程序,所以我无法更改它。而且我不想杀死进程本身。
【问题讨论】:
-
从开幕式开始?也许你可以检测并关闭它。除非应用程序写得很糟糕,或者是为了应付你这样弄乱它而编写的,否则它很容易崩溃。
-
所以您正在尝试检测应用程序是否已经在运行,因此不会加载第二个副本?
-
更新问题。很抱歉有任何混淆。
-
重要问题:您是否编写了“已经在 Tast Manager 中”的程序,因此您有源代码吗?或者您是否想要(并且必须,因为您没有源代码)编写第二个仅关闭第一个弹出窗口的程序?
-
第二个选项...我没有编写有弹出窗口的程序。
标签: c# windows event-handling window