异步输入函数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按下 { //... }