该函数检取指定虚拟键的状态。该状态指定此键是UP状态,DOWN状态,还是被触发的(开关每次按下此键时进行切换)。平时最常用的使用GetKeyState判断大小写指示灯或者键盘数字键指示灯状态。
获取大小写状态
//绝对小写输入模式
Key& Key::caps()
{
if (GetKeyState(VK_CAPITAL))
{
// 如果当前键盘状态为大写,要求改小写,则模拟按键CapsLock切换状态
keybd_event(VK_CAPITAL, 0, 0, 0);
keybd_event(VK_CAPITAL, 0, KEYEVENTF_KEYUP, 0);
}
return *this;
}
//绝对大写输入模式
Key& Key::Caps()
{
if (!GetKeyState(VK_CAPITAL))
{
// 如果当前键盘状态为小写,要求改大写,则模拟按键CapsLock切换状态
keybd_event(VK_CAPITAL, 0, 0, 0);
keybd_event(VK_CAPITAL, 0, KEYEVENTF_KEYUP, 0);
}
return *this;
}
我们针对其中的一个函数简要说面一下例子;
在上面函数实例之中GetKeyState(Vk_CAPITAL)为判断键盘的大是不是开启,如果开启return false,如果未开启return true
同样我们进行一个简单的实例
获取数字指示灯状态
#include <windows.h>
#include <iostream>
using namespace std;
int main()
{
if(GetKeyState(VK_NUMLOCK))
{
cout<<"当前数字指示灯亮"<<endl;
}
else
{
cout<<"当前数字指示灯没有亮"<<endl;
}
return 0;
}
大家可以使用自己所学的知识,进行一下测试一下