C/C++ 模拟键盘操作(二)GetKeyState函数详细解释

该函数检取指定虚拟键的状态。该状态指定此键是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;
 } 

大家可以使用自己所学的知识,进行一下测试一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

折竹丶

您的打赏是我创作的原动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值