GetAsyncKeyState

【勇芳软件工作室】汉化HomePreviousNext

GetAsyncKeyState功能确定在调用函数时键是上下还是关闭,以及在先前调用GetAsyncKeyState之后是否按下了该键。

SHORT GetAsyncKeyState(

INT 【V键】//虚拟键代码
); 

参数

【V键】

指定256个可能的虚拟键代码之一。

Windows NT:您可以使用左右区分常量来指定某些键。有关详细信息,请参阅备注部分。

Windows 95: Windows 95不支持在Windows NT上可用的左右正确的常量。

返回值

如果函数成功,则返回值指定自上次调用GetAsyncKeyState以来是否按下该键,以及该键当前是否正在上升或下降。如果最高有效位被设置,则该键被关闭,并且如果设置了最低有效位,则在先前调用GetAsyncKeyState之后按下该键。如果另一个线程或进程中的窗口当前具有键盘焦点,返回值为零。

Windows 95: Windows 95不支持左右区分常量。如果在Windows 95平台上使用这些常量调用GetAsyncKeyState,返回值为零。

备注

您可以使用虚拟密钥代码常量VK_SHIFT,VK_CONTROL和VK_MENU作为【V键】参数的值。这给出了SHIFT,CTRL或ALT键的状态,而不区分左和右。

Windows NT:您可以使用以下虚拟代码常量作为【V键】的值来区分这些键的左右实例:

VK_LSHIFTVK_RSHIFT
VK_LCONTROLVK_RCONTROL
VK_LMENUVK_RMENU

只有当您呼叫GetKeyboardStateSetKeyboardStateGetAsyncKeyStateGetKeyStateMapVirtualKey功能时,这些左和右区别常数才可用。

Windows 95: Windows 95不支持左右区分常量,并在使用这些常量时返回0。

GetAsyncKeyState功能与鼠标按钮配合使用。但是,它检查物理鼠标按钮的状态,而不是物理按钮映射到的逻辑鼠标按钮上。例如,调用GetAsyncKeyState(VK_LBUTTON)始终返回左侧物理鼠标按钮的状态,可以映射到左侧或右侧逻辑鼠标按钮。您可以通过调用确定系统当前的物理鼠标按键映射到逻辑鼠标按钮

GetSystemMetrics(SM_SWAPBUTTON)

如果鼠标按钮被交换,则返回TRUE。

也可以看看

GetKeyboardState, GetKeyState, GetSystemMetrics, MapVirtualKey, SetKeyboardState