首页 > 代码库 > C语言模拟按键代码
C语言模拟按键代码
其实 keybd_event 这个API的模拟按键需要按键码,如果用户输入一个字符,怎么用这个API打印出来呢?
其实很简单。这个我是在易语言中发现的
易语言中的一个 #R键 的值和R的ASCII码是一样的。也就是说,用户输入一个字符,用keybd_event这个API打印出来是很简单的。我们可以全部读取,取出一个字符的ASCII码,然后打出来,再取出另一个,以此类推。。。。。。
全部读取的话用动态数组是很好实现的。
拼音必须是大写的,否则打的可能都是数字
还有一个MFC版本的 http://www.cnblogs.com/mimiaisini/p/6977705.html
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <windows.h> 4 5 int main(int argc,char *argv[]) 6 { 7 char *a; 8 char b[100]; 9 int size; 10 FILE *TEXTFILE; 11 SetConsoleTitleA("自动打字工具"); 12 printf("文本路径:"); 13 scanf("%s",b); 14 TEXTFILE=fopen(b,"rb+"); 15 if(!TEXTFILE) 16 { 17 printf("打开文件失败\n"); 18 system("pause"); 19 return 0; 20 } 21 if(!feof(TEXTFILE)) 22 { 23 fseek(TEXTFILE,0L,SEEK_END); 24 size=ftell(TEXTFILE); 25 a=(char*)malloc(size*sizeof(char)); 26 if(!a) 27 { 28 printf("内存申请失败\n"); 29 fclose(TEXTFILE); 30 return 0; 31 } 32 fseek(TEXTFILE,0,SEEK_SET); 33 fread(a,1,size,TEXTFILE); 34 printf("5秒后程序就开始工作\n"); 35 Sleep(5000); 36 printf("开始工作\n"); 37 for(int i=0;i<size;i++) 38 { 39 keybd_event((int)a[i],0,0,0); 40 keybd_event((int)a[i],0,2,0); 41 keybd_event((int)a[i],0,2,0); 42 Sleep(100); 43 } 44 } 45 fclose(TEXTFILE); 46 free(a); 47 system("cls"); 48 system(argv[0]); 49 exit(0); 50 return 0; 51 }
C语言模拟按键代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。