匯東網


异步输入函数GetKeyState和GetAsyncKeyState 以及最常见的_getch和_getwch

[編輯] [转简体]
|
作者:huidong | 分類:【編程】Win32
[ 11 瀏覽 0 評論 0 贊 1 踩 ]

概要
异步获取键盘(按键)输入,也可以获得鼠标状态
MSDN键值表链接

正文


GetKeyState ≠ GetAsyncKeyState

GetKeyState只在程序获得输入焦点时生效

GetAsyncKeyState是全局获捕


用法

if(GetKeyState(VK_CONTROL) & 0x8000)// 如果Ctrl按下
{
    //...
}
if (GetAsyncKeyState(VK_CONTROL) & 0x8000)// 如果Ctrl按下
{
    //...
}


_getch()是char用的

_getwch()是wchar_t用的

他们有阻塞


键值表 https://docs.microsoft.com/zh-cn/windows/win32/inputdev/virtual-key-codes?redirectedfrom=MSDN

ASCII码表 http://ascii.911cha.com/  


其实如果只需要用GetKeyState和GetAsyncKeyState获捕字母按键(非功能按键)的按下的话,参数直接传入大写字母即可

如:

if(GetKeyState('A') & 0x8000)// 如果A按下
{
    //...
}


[ 0] [ 1]


 評論區  0 條評論

+ 添加評論