如何判断当前窗口是否为活动窗口?

新手上路,请多包涵

如何判断我的窗口是否是当前活动窗口?我目前的猜测是做 GetForegroundWindow 并将 HWND 与我的窗口进行比较。还有比这更好的方法吗?

我正在使用 Win32 API / MFC。

原文由 Mark Ingram 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
1 个回答

是的,这是我知道的唯一方法。

但是您必须处理 GFW 可以返回 NULL 的事实。通常,当另一个桌面(例如屏幕保护程序桌面)处于活动状态时会发生这种情况。请注意,使用保护程序密码会影响是否使用不同的桌面(这取决于 Windows 版本,我不记得不同版本如何工作的详细信息)。

此外,此代码在 Visual Studio 下的调试模式下也无法正常工作,因为您将获得 VS 的窗口句柄。

除此之外,一切都很美好:-)

原文由 Bob Moore 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题