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[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;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值