让窗口相信它仍然处于焦点中,尽管事实并非如此

Xce*_*ity 4 c++ windows focus window suppress

我必须处理一个讨厌的 MS Windows 应用程序,它一旦失去焦点就会停止工作。我的问题是,我怎样才能以某种方式欺骗这个应用程序,让它相信它仍然处于焦点,尽管它实际上不是?

我的想法是:

  1. 是否可以仅从该应用程序中抑制相应的“WM”消息?
  2. 我可以向此窗口发送一条虚假消息,使其表现得好像处于焦点状态吗?

小智 5

发送 WM_ACTIVATE 消息适用于某些应用程序:

 SendMessage(hWnd, WM_ACTIVATE, WA_CLICKACTIVE, hWnd);
Run Code Online (Sandbox Code Playgroud)

将最后一个参数保留为 NULL 也可能有效。