首页 > 编程语言 >C++模拟键盘操作

C++模拟键盘操作

时间:2023-11-14 09:01:14浏览次数:32  
标签:ctrl C++ 键盘 按下 keybd event 模拟

前言: 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秒,你不想电脑卡炸吧 } }        

标签:ctrl,C++,键盘,按下,keybd,event,模拟
From: https://www.cnblogs.com/kn-zheng/p/17830810.html

相关文章

  • C++ Primer学习笔记——第十一章
    第十一章关联容器前言关联容器和顺序容器有着本质的不同:关联容器中的元素是按关键字来保存和访问的。与之相对,顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的。(MySQL中元素就是按照关联容器进行保存)关联容器支持高效的关键字查找和访问。两个主要的关联容器(assoc......
  • 2023年11月13日模拟赛
    同步更新于我的博客总结昨日中二病发作写了一篇离谱文章,请直接无视,别看阿⁄(⁄⁄•⁄ω⁄•⁄⁄)⁄。害怕......
  • C++多态
    1、静态多态(1)函数重载 函数重载以参数的类型或数量不同来区分不同用途的同名函数。不以返回值不同来区分函数。编译器在调用函数时会在意函数的参数,不会在意函数的返回值。intmyAdd(inta,intb);floatmyAdd(doublea,doubleb);(2)运算符重载 使用关键字operator来......
  • 11.13 模拟赛小记
    30+0+10+0全真模拟。今天的模拟赛有一种格外的说不上来的绝望的感觉。很不好描述的。一直在想如果这是真实的noip赛场那我不就大寄特寄了。下午因为不舒服所以玩了一下午(?)一直在机惨别人(?)玩的很开心。但还是想看大家在机房跳钢管舞喵(?A.game赛时看到这个题之后就变得很愚蠢。......
  • 模拟集成电路设计系列博客——3.4.3 低压降稳压器
    3.4.3低压降稳压器当稳压器输出必须要仅比\(V_{DD}\)低\(200-400mV\),并且无法低阈值电压(\(V_t\)接近零)的NMOS器件时,有必要使用一个PMOS器件作为\(Q_1\)。如下图所示,在这个例子中,栅电压\(V_1\)低于\(V_{DD}\),稳压器压只受到\(V_{eff,1}\)限制,这个电路被称为低压降稳压器(LDO),是电路......
  • C/C++知识补充
    运算符算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符运算符描述实例+把两个操作数相加A+B将得到30-从第一个操作数中减去第二个操作数A-B将得到-10*把两个操作数相乘A*B将得到200/分子除以分母B/A将得到......
  • Linux Ubuntu部署C++环境与VS Code编辑器
      本文介绍在LinuxUbuntu操作系统下,配置VisualStudioCode软件与C++代码开发环境的方法。  在文章VMware虚拟机中安装LinuxUbuntu操作系统中,我们介绍了LinuxUbuntu操作系统的下载、安装方法;本文则基于前述基础,继续介绍在LinuxUbuntu操作系统中配置VisualStudioCode软......
  • C++ 字符串类 string
    @TOC前言在C++中,字符串是一种常见的数据类型,用于存储和操作文本数据。C++标准库中提供了std::string类,它是一个功能强大的字符串类,提供了丰富的方法和操作符,使我们能够轻松地处理字符串。一、string类型概括std::string是C++标准库中定义的字符串类,它在<string>头文件中声明。它......
  • NOIP模拟赛35T1T2
    T1KAMEN只能说一言难尽。60pt暴力模拟每一个石头往下掉的情况。在这里,我并没有打暴力,而是用set存储了每一列的X和O的石子分布情况。当前节点的位置在(x,y),寻找x列中比y大的第一个位置在ny(这里可以用upper_bound),那么石子在这一列能往下掉到的位置就是(x,ny-1)然后再判断能......
  • 【2023.11.13】NOIP2023模拟试题-33.md
    T1贪心地找到和最大的组的较大数删除是最优选择,因此开线段树维护全局最大数,并单点更新指定位置的值。参考代码展开代码#include<bits/stdc++.h>usingnamespacestd;#definefi(l,r)for(inti=l;i<=r;++i)#defineff(i,l,r)for(inti=l;i<=r;++i)#definelllonglon......