如何判断我的窗口是否是当前活动窗口?我目前的猜测是做 GetForegroundWindow 并将 HWND 与我的窗口进行比较。还有比这更好的方法吗?
我正在使用 Win32 API / MFC。
原文由 Mark Ingram 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何判断我的窗口是否是当前活动窗口?我目前的猜测是做 GetForegroundWindow 并将 HWND 与我的窗口进行比较。还有比这更好的方法吗?
我正在使用 Win32 API / MFC。
原文由 Mark Ingram 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
是的,这是我知道的唯一方法。
但是您必须处理 GFW 可以返回 NULL 的事实。通常,当另一个桌面(例如屏幕保护程序桌面)处于活动状态时会发生这种情况。请注意,使用保护程序密码会影响是否使用不同的桌面(这取决于 Windows 版本,我不记得不同版本如何工作的详细信息)。
此外,此代码在 Visual Studio 下的调试模式下也无法正常工作,因为您将获得 VS 的窗口句柄。
除此之外,一切都很美好:-)