函数参考


_WinAPI_GetKeyState

检索指定虚拟键的状态.

#Include <WinAPIEx.au3>
_WinAPI_GetKeyState ( $vKey )

参数

$vKey 指定虚拟键($VK_*).
虚拟键为字母或数字(A 到 Z, a 到 z 或 0 到 9)

返回值

成功: 返回指定虚拟键的状态值.
如果高序位为 1, 键被按下, 反之为松开.
对于切换键,比如 CAPS LOCK 键,则打开时低序数位为 1,关闭时为 0.
切换键打开时键盘上的切换键指示灯(如果有)将点亮, 反之则关闭.
失败: 返回 0,并设置@error标志为非 0 值.

注意/说明

进程从消息队列读取键消息时,函数返回键状态的变化.
 不反映与硬件相关的中断级别状态.
 调用 _WinAPI_GetAsyncKeyState() 函数获取信息

相关

详情参考

在MSDN中搜索


示例/演示


#Include <APIConstants.au3>
#Include <WinAPIEx.au3>

Opt('MustDeclareVars', 1)

Global $OnOff[2] = ['OFF', 'ON']

ConsoleWrite('NumLock: ' & $OnOff[BitAND(_WinAPI_GetKeyState($VK_NUMLOCK), 1)] & @CR)
Sleep(1500)
Send('{NUMLOCK toggle}')
ConsoleWrite('NumLock: ' & $OnOff[BitAND(_WinAPI_GetKeyState($VK_NUMLOCK), 1)] & @CR)
Sleep(1500)
Send('{NUMLOCK toggle}')
ConsoleWrite('NumLock: ' & $OnOff[BitAND(_WinAPI_GetKeyState($VK_NUMLOCK), 1)] & @CR)