相关疑难解决方法(0)

.NET/Win32 - 用于检测属于另一个应用程序的窗口何时获得焦点的事件

我有一个.NET应用程序,需要能够检测特定窗口何时获取并失去焦点.我感兴趣的特定窗口属于另一个我无法控制的应用程序,尽管我有Window Handle.

我真的是追求解决这个问题的最佳方法.到目前为止,我可以看到两种可能性:

  1. 在计时器上使用Win32调用来监视状态的任何变化.不太好,因为它存在丢失状态变化的风险,例如,如果窗口变为活动状态,则在定时器间隔内不活动
  2. 使用钩子(SetWindowsHookEx)拦截到窗口的消息.听起来它应该工作,但担心a)全局级钩子不能从.NET代码工作,所以需要是本机的,并且b)这可能被视为病毒/键盘记录类型活动,因此被操作系统阻止?

我相信还有其他选择,如果有的话,我很乐意听到他们!

.net winapi

6
推荐指数
1
解决办法
2975
查看次数

标签 统计

.net ×1

winapi ×1