C++模拟键盘操作
前言:
C++/C语言模拟键盘操作十分的黑科技啊,作者也是借鉴了 C/C++ 模拟键盘操作(一)_折竹丶的博客-CSDN博客_c++模拟键盘
来做一个小小的全面总结,有兴趣可以去看原创
键盘操作:
在C++中有一个头文件:windows.h 我们可以尝试导入他:
#include<windows.h>
这个头文件不管你是在DevC++,VS...都应该有的,在其中有一个这样的函数:
keybd_event(BYTE bVk,BYTE bScan,DWORD dwFlags,ULONG_PTR dwExtraInfo);
就是这个keybd_enent函数,它的参数有4个第一个为按键的虚拟键值;第二个参数为扫描码,一般不用设置,用0代替就行;第三个参数为选项标志,如果为keydown则置0即可,如果为keyup则设成"KEYEVENTF_KEYUP";第四个参数一般也是置0即可。
来做个演示,假如我要模拟按下a键我们就可以:
keybd_event(65,0,0,0);
65是a的十进制值,这样我们就可以按下a键了
在前面加上一个Sleep(4000)等待4秒,选择一个地方可以试着输入以下
具体虚拟键表自行查找
来做一个好玩的:
你是否在抖音上看见了一些用vbs做的刷屏器,我们在学完这个之后也能做一个C++版本的!
#include<windows.h>
#include<stdio.h>
void ctrl_v(int x = 86)//模拟ctrl+v
{
keybd_event(VK_CONTROL,0,0,0);//按下ctrl
keybd_event(x,0,0,0);//按下v
keybd_event(x,0,KEYEVENTF_KEYUP,0);//弹起v
keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);//弹起ctrl
}
int main()
{
int a;
scanf("%d",&a);//输入次数
Sleep(5000);//等待5秒(为了不一瞬间全部模拟)
for(int i = 0;i < a;i++)
{
ctrl_v();//ctrl+v
keybd_event(13,0,0,0);//按下Enter
Sleep(100);//等待0.1秒,你不想电脑卡炸吧
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了