众所周知,某些网站不让粘贴,有的时候为我们生活工作带来了很大不便,于是便用了C++编写了一个模拟键盘输入的程序,目前只支持英语字母和部分特殊字符。
使用方法:
1.在同目录下创建 file.txt文本文件utf-8编码
2.在文本文件中添加想要模拟输入的字符
3.运行程序,在开始输入之前将光标移至输入区域
注意:一定要关闭大写锁,一定要关闭大写锁,一定要关闭大写锁
#include <stdio.h>
#include <windows.h>
#include <time.h>
using namespace std;
void KeyInput(char DataInput, short SleepTime);
//不支持输入非英语字符
int main(){
FILE *fp;
char DataInput;
short SleepTime = 1; //调节速度,越小越快
fp = fopen("file.txt","r");
printf("3秒后开始,请将光标移至输入区域\n");
Sleep(1000);
printf("2秒后开始,请将光标移至输入区域\n");
Sleep(1000);
printf("1秒后开始,请将光标移至输入区域\n");
Sleep(1000);
printf("开始输入...\n");
DataInput = fgetc(fp);
while(DataInput != EOF){
putchar(DataInput);
KeyInput(DataInput, SleepTime);
DataInput = fgetc(fp);
}
fclose(fp);
printf("已完成输入\n");
return 0;
}
void KeyInput(char DataInput, short SleepTime){
//0-9
if(DataInput >= '0' && DataInput <= '9'){
keybd_event(int(DataInput), 0, 0, 0);
keybd_event(int(DataInput), 0, KEYEVENTF_KEYUP, 0);
}
//A-Z
else if(DataInput >= 'A' && DataInput <= 'Z'){
keybd_event(VK_SHIFT, 0, 0, 0); //Shift
keybd_event(int(DataInput), 0, 0, 0);
Sleep(SleepTime);
keybd_event(int(DataInput), 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
}
//a-z
else if(DataInput >= 'a' && DataInput <= 'z'){
keybd_event(int(DataInput)-32, 0, 0, 0);
Sleep(SleepTime);
keybd_event(int(DataInput)-32, 0, KEYEVENTF_KEYUP, 0);
}
// space
else if(DataInput == ' '){
keybd_event(VK_SPACE, 0, 0, 0);
keybd_event(VK_SPACE, 0, KEYEVENTF_KEYUP, 0);
}
// enter
else if(DataInput == '\n'){
keybd_event(int(DataInput), 0, 0, 0);
keybd_event(int(DataInput), 0, KEYEVENTF_KEYUP, 0);
}
// ,
else if(DataInput == ','){
keybd_event(188, 0, 0, 0);
keybd_event(188, 0, KEYEVENTF_KEYUP, 0);
}
// -
else if(DataInput == '-'){
keybd_event(189, 0, 0, 0);
keybd_event(189, 0, KEYEVENTF_KEYUP, 0);
}
// +
else if(DataInput == '+'){
keybd_event(107, 0, 0, 0);
keybd_event(107, 0, KEYEVENTF_KEYUP, 0);
}
// .
else if(DataInput == '.'){
keybd_event(190, 0, 0, 0);
keybd_event(190, 0, KEYEVENTF_KEYUP, 0);
}
// *
else if(DataInput == '*'){
keybd_event(106, 0, 0, 0);
keybd_event(106, 0, KEYEVENTF_KEYUP, 0);
}
else{
keybd_event(106, 0, 0, 0);
keybd_event(106, 0, KEYEVENTF_KEYUP, 0);
}
}