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

新手上路,请多包涵

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

我正在使用 Win32 API / MFC。

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

阅读 1.3k
1 个回答

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

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

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

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

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

推荐问题