如何知道计算机是否处于游戏模式

ida*_*hmu 5 c++ windows

背景

我正在实现一个由窗口组成的简单WIN32应用程序.用户可以使用特殊热键显示/隐藏窗口.我使用RegisterHotKey注册热键并响应WM_HOTKEY

问题

如果用户玩游戏并且意外地(或不是偶然地)按下热键组合,则我的窗口会弹出,因此游戏最小化.

是否有(本机)方式知道用户处于游戏模式或任何其他特殊模式,我可以禁用热键响应

注意

我还想在我玩游戏的时候,如果windows能够成为这个功能.例如,我在游戏模式时不响应WinKey + D.

Ray*_*hen 8

您可以使用该SHQueryUserNotificationState功能来确定用户是否正在玩全屏D3D游戏.它会报告QUNS_RUNNING_D3D_FULL_SCREEN.