c++ - 如何检查是否在 C++ 上按下了某个键

标签 c++ keyboard key

我怎么可能检查是否在 Windows 上按下了某个键?

最佳答案

正如其他人所提到的,没有跨平台的方式来做到这一点,但在 Windows 上你可以这样做:

下面的代码检查键“A”是否按下。

if(GetKeyState('A') & 0x8000/*Check if high-order bit is set (1 << 15)*/)
{
    // Do stuff
}

如果发生轮类或类似情况,您需要通过其中一项:https://msdn.microsoft.com/de-de/library/windows/desktop/dd375731(v=vs.85).aspx

if(GetKeyState(VK_SHIFT) & 0x8000)
{
    // Shift down
}

低位表示键是否被切换。

SHORT keyState = GetKeyState(VK_CAPITAL/*(caps lock)*/);
bool isToggled = keyState & 1;
bool isDown = keyState & 0x8000;

哦还有别忘了

#include <Windows.h>

关于c++ - 如何检查是否在 C++ 上按下了某个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41600981/

相关文章:

android - 在 Android 中隐藏键盘的最佳方式

ios 从 sqlite coredata 读取 z_pk

c++ - 类继承和类原型(prototype)设计的问题

c++ - 如果第一个相同,则按第二个排序插入成对的 STL 集合

swift - 文本字段左 View 图像颜色

unicode - 箭头键代表其他东西? [榆树]

javascript - 如何获得随 secret 钥

php - 从数组数组转换为单个数组

c++ - 如何包含不带引号的头文件?

c++ - 如何在openGL中使用逆视矩阵绘制相机视锥体