C语言模拟按键
2016-01-17 12:48
447 查看
其实 keybd_event 这个API的模拟按键需要按键码,如果用户输入一个字符,怎么用这个API打印出来呢?
其实很简单。这个我是在易语言中发现的
易语言中的一个 #R键 的值和R的ASCII码是一样的。也就是说,用户输入一个字符,用keybd_event这个API打印出来是很简单的。我们可以全部读取,取出一个字符的ASCII码,然后打出来,再取出另一个,以此类推。。。。。。
用动态数组是很好实现的。
拼音必须是大写的,否则打的可能都是数字
其实很简单。这个我是在易语言中发现的
易语言中的一个 #R键 的值和R的ASCII码是一样的。也就是说,用户输入一个字符,用keybd_event这个API打印出来是很简单的。我们可以全部读取,取出一个字符的ASCII码,然后打出来,再取出另一个,以此类推。。。。。。
用动态数组是很好实现的。
拼音必须是大写的,否则打的可能都是数字
#include <stdio.h> #include <stdlib.h> #include <windows.h> int main(int argc,char *argv[]) { char *a; char b[100]; int size; FILE *TEXTFILE; SetConsoleTitleA("自动打字工具"); printf("文本路径:"); scanf("%s",b); TEXTFILE=fopen(b,"rb+"); if(!TEXTFILE) { printf("打开文件失败\n"); system("pause"); return 0; } if(!feof(TEXTFILE)) { fseek(TEXTFILE,0L,SEEK_END); size=ftell(TEXTFILE); a=(char*)malloc(size*sizeof(char)); if(!a) { printf("内存申请失败\n"); fclose(TEXTFILE); return 0; } fseek(TEXTFILE,0,SEEK_SET); fread(a,1,size,TEXTFILE); printf("5秒后程序就开始工作\n"); Sleep(5000); printf("开始工作\n"); for(int i=0;i<size;i++) { keybd_event((int)a[i],0,0,0); keybd_event((int)a[i],0,2,0); keybd_event((int)a[i],0,2,0); Sleep(100); } } fclose(TEXTFILE); free(a); system("cls"); system(argv[0]); exit(0); return 0; }
相关文章推荐
- ARM环境中的c语言socket进程通信-转
- thrift框架使用C++
- c语言定义变量的位置(By 紫贝殼)
- constexpr与常量表达式(c++11标准)
- ThriftUsageC++
- Sicily 1931. 卡片游戏
- C++开发人脸性别识别教程(12)——添加性别识别功能
- C++ 异常机制分析
- 在VS工程中,添加c/c++工程中外部头文件及库
- Sicily 4427. Greatest Common Divisors
- 学习C++,重新做做ACM
- thrift服务端的c++语言实现
- C函数的调用过程 栈帧
- C++ 学习笔记(一些新特性总结 1)
- C++ 学习笔记(一些新特性总结 1)
- C语言变量声明内存分配
- c++ 程序设计 week4 运算符重载
- Sicily 13476. 完数问题
- C++虚函数实现机制
- 学习C语言之前的准备工作