烟誮濄后… 发表于 2017-6-2 19:32:18

用C语言模拟按键

其实 keybd_event 这个API的模仿按键需求按键码,如果用户输入一个字符,怎样用这个API打印出来呢?
其实很简单。这个我是在易语言中发现的
易语言中的一个 #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;
      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,0,0,0);
                        keybd_event((int)a,0,2,0);
                        keybd_event((int)a,0,2,0);
                        Sleep(100);
                }
      }
      fclose(TEXTFILE);
      free(a);
      system("cls");
      system(argv);
      exit(0);
      return 0;
}

页: [1]
查看完整版本: 用C语言模拟按键