C语言实现模拟键盘输入字符串
部分应用或网站开启了禁止粘贴功能,该代码可以通过模拟键盘输入的方式,将英文输入至输入框中 ,具体使用说明请见如下介绍:
用户键字符串粘贴至小黑屏后按回车启动模拟输入功能,当用户切换至不能直接粘贴的输入框并出现光标后,按下ctrl+alt+v触发模拟输入功能 。
注意:
1.输入前请将输入法切换为英文并关闭大写字母锁定。
2.在输出时不支持的字符会使用:“- ”替换。
3. 最大支持单字符串1000个字符,用户可在str[]数组中修改更多或更少字符。
4.目前该代码仅支持英文大小写、数字、“,”,“.”的输入 ,用户可在代码的switch语句中自定义更多内容。
在模拟输入完成后可按1开启新的模拟输入任务或退出:
具体代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>void down(int vk)
{keybd_event(vk,0,0,0);
}
void up(int vk)
{keybd_event(vk,0,KEYEVENTF_KEYUP,0);
}
void press(int vk)
{down(vk);Sleep(50);up(vk);
}void caps(char cha){press(VK_CAPITAL);//按下并放开大写字母锁定Sleep(50);press(cha);//按下并放开str[i]Sleep(50);press(VK_CAPITAL);//按下并放开大写字母锁定printf("输入:%c",cha);
} int main()
{char str[1000];int i,user;printf("请输入一个字符串:");fflush(stdin);gets(str);printf("您输入的字符串是:%s\n按下ctrl+alt+v触发模拟输入功能\n注意:将输入法切换为英文并关闭大写字母锁定\n在输出时不支持的字符会使用:“- ”替换\n", str);while (true){if (GetAsyncKeyState(VK_CONTROL) & 0x8000 && GetAsyncKeyState(VK_MENU) & 0x8000 && GetAsyncKeyState('V') & 0x8000){up(VK_CONTROL);up(VK_MENU);up('V');printf("程序开始执行");for (i = 0; str[i] != '\0'; i++){if(str[i]>=97&&str[i]<=122) {//小写 str[i]-=32;press(str[i]);//按下并放开str[i]}else if((str[i]>=65&&str[i]<=90)||(str[i]>=48&&str[i]<=57)){//大写 caps(str[i]);Sleep(50);}else {switch(str[i]){case '.':press(VK_DECIMAL); Sleep(50); break;case ',':press(VK_OEM_COMMA); Sleep(50); break;case ' ':press(VK_SPACE); Sleep(50); break;/*case '.':press(VK_DECIMAL); Sleep(50); break;//自定义子符 case '.':press(VK_DECIMAL); Sleep(50); break;//自定义子符 case '.':press(VK_DECIMAL); Sleep(50); break;//自定义子符 case '.':press(VK_DECIMAL); Sleep(50); break;//自定义子符 case '.':press(VK_DECIMAL); Sleep(50); break;//自定义子符 */default:press(VK_OEM_MINUS); Sleep(50);}}}printf("\n程序已执行\n输入新字符请键入1,退出请键入任意键:"); scanf("%d",&user);if(user==1) main();else break; // 跳出循环}}return 0;
}
注:本篇部分内容参考自 C/C++ 模拟键盘操作(一)_c 模拟键盘输入_折竹丶的博客-CSDN博客
C语言实现模拟键盘输入字符串相关推荐
- python如何模拟键盘输入_python 模拟键盘输入
python 模拟键盘输入 一.PyUserInput安装 python3.5的PyMouse和PyKeyboard模块都集成到了PyUserInput模块中.在python3.5中,直接安装PyUs ...
- python3模拟键盘输入_python 模拟键盘输入
一.PyUserInput安装 python3.5的PyMouse和PyKeyboard模块都集成到了PyUserInput模块中.在python3.5中,直接安装PyUserInput模块即可 Py ...
- c++如何模拟键盘输入
在 C 语言中模拟键盘输入,可以使用函数 getch 或 getchar. getch 函数用于从控制台读取一个字符,但不显示在屏幕上.它是由库文件 "conio.h" 提供的. ...
- python模拟键盘输入字符_Python | 根据关键字符串遍历窗口 模拟键盘输入操作
在自动化脚本测试某个程序的过程中,偶尔会因为文件读取操作弹出各种信息窗口,导致自动化脚本无法继续往下执行.为了解决这个问题,需要隔一段时间对信息窗口进行一次遍历,针对需要处理的窗口进行模拟键盘输入操作 ...
- c#语言模拟键盘输入,C#如何模拟真实的键盘输入
匿名用户 1级 2018-05-27 回答 //直接给你贴一个我自己写的类,模拟键盘输入字符 using System.Runtime.InteropServices; namespace lison ...
- java中像scanf一样多个输入_VB模拟键盘输入的N种方法
VB模拟键盘输入的N种方法http://bbs.csdn.net/topics/90509805hd378发表于: 2006-12-24 14:35:39用VB模拟键盘事件的N种方法 键盘是我们使用计 ...
- Ubuntu16.04利用expect模拟键盘输入实现自动化交互
在Linux的日常使用中,经常会有自动化交互的需要,如SSH,手动的操作繁琐.效率地下,使用expect工具可以模拟键盘输入,实现自动输入.自动交互. 1,安装 sudo apt install e ...
- php虚拟键盘输入,[问题] bash下如何模拟键盘输入
你的位置: 问答吧 -> Shell -> 问题详情 [问题] bash下如何模拟键盘输入 我想要在bash下模拟键盘输入. 现在有两个实例. 1. 如果我在使用未配置sudo nopas ...
- 【Go】从键盘输入字符串和数字
从键盘输入字符串和数字 第一种方法 使用 Go 语言自带的 fmt 库,从键盘输入字符串和数字: package mainimport "fmt"func main() {// 获 ...
最新文章
- mysql子查询日期比较_数据分析系列 16/32 | MySQL中子查询与联合查询
- 数据结构 栈的应用
- STP、RSTP和MSTP的比较
- python【力扣LeetCode算法题库】35- 搜索插入位置
- keil c语言 1602时钟代码,带详细注释的单片机1602液晶时钟经典代码+仿真图
- Go内置库模块 flag
- 突变检测软件 测试数据库,测序数据比对和变异检测
- OOM分析(1) Android 源,如何分析android的OOM,与java静态代码分析工具
- Linux nor flash分区,Linux驱动开发笔记:NOR FLASH编写实例
- Amesim液压仿真基础与液压知识经验结合专题
- 手机号归属地区编码_科普:身份证和手机号背后的秘密
- VS的Qt界面预览和QtCreator的界面预览快捷键
- Protel Dxp2004 创建库
- python朋友圈自动点赞_基于airtest的朋友圈自动点赞
- MySQL:错误1153(08S01):得到的数据包大于“ max_allowed_pa​​cket”字节
- USB3014-应用程序开发
- 前端XSS 过滤--亲测有效
- SpringBoot 三大开发工具,你都用过么?
- 外骨骼设备系列4:人工智能学院派精英打造美国特种部队唯一合作的“钢铁侠”
- Git操作指南及工作流程(初学者必看)