1. 程式人生 > >C語言模擬按鍵代碼

C語言模擬按鍵代碼

spa itl 動態數組 lib fread fopen int urn 工作

其實 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語言模擬按鍵代碼