C# 检测应用程序焦点更改/为HWND更改挂起某些内容?

C# 检测应用程序焦点更改/为HWND更改挂起某些内容?,c#,focus,hwnd,C#,Focus,Hwnd,我如何检测任何应用程序何时失去焦点?是否有任何系统挂钩可供使用?当一个新的应用程序处于焦点时,或者当一个应用程序丢失时,我想拿起它。即使拥有用户的“当前”HWND也不错 我使用的是C#,但是,我确信它是全赢api的东西。。。所以任何信息都很好。使用setwindowshookx设置WH\u CALLWNDPROC或WH\u CALLWNDPROCRET全局钩子,并查找WM\u SETFOCUS和WM\u KILLFOCUS消息。更新我知道我可以使用getforegroughindow()获取当前

我如何检测任何应用程序何时失去焦点?是否有任何系统挂钩可供使用?当一个新的应用程序处于焦点时,或者当一个应用程序丢失时,我想拿起它。即使拥有用户的“当前”HWND也不错


我使用的是C#,但是,我确信它是全赢api的东西。。。所以任何信息都很好。

使用
setwindowshookx
设置
WH\u CALLWNDPROC
WH\u CALLWNDPROCRET
全局钩子,并查找
WM\u SETFOCUS
WM\u KILLFOCUS
消息。

更新我知道我可以使用getforegroughindow()获取当前窗口的HWND,我只想订阅一个事件,通知我它的变化。