捕获正在运行的进程的FlashWindowEx事件(C#)

我有一个已经在运行的应用程序 – 它偶尔会触发FlashWindowEx事件(Windows 7图标闪烁)。 我想捕获这个事件,但我似乎无法找到任何关于如何的好信息。

我的想法是它会像这样:

  • 使用Process.GetProcessesByName连接到正在运行的进程
  • 为FlashWindowEx设置事件处理程序
  • 抓住它,做任何事情

我想我的问题是:

这可能吗?

  1. 有没有办法从正在运行的进程中获取可用事件列表?
  2. 我如何挂钩到FlashWindowEx?

谢谢

当窗口闪烁时, WH_SHELL挂钩会通知您。 根据文件:

  • nCode = HSHELL_REDRAW
  • wParam =窗口的句柄
  • 如果窗口闪烁,则lParam = TRUE ,否则为FALSE