如何实现键盘的模拟输入(附原创源码)

       键盘是计算机的重要输入设备,没有键盘,我们根本无法操作计算机。在一些打字软件中,有这样的功能,可以在屏幕上出现一个键盘,我们使用鼠标按下这个键盘的按键,就和按下真正的键盘按键一样。那这样的功能是如何实现的呢?我下面就向大家介绍一下,如何实现这个功能。
      我们要模拟键盘的输入,必须使用一个API函数.这个API函数是keybd-event,它可以模拟键盘的输入。我们使用visualc++6.O来写这个程序,打开vjsual c++6.0,使用MFC AppWizard新建一个基于对话框的工程,工程名为keyboard。在对话框上加上一个button控件,标题为“按下字母键P”,在MFC ClassWizard中添加一个当我们使用鼠标单击这个控件时响应的函数.标题为”按下字母键P“的控件的响应函数代码为:

void CKeyboardDlg::Onp() 
{
	//这个函数的第一个参数是要模拟的按键的虚拟
	//码,这个虚拟码是字母P的虚拟码,其它的参数都为0,
	//这表示按下了字母P
	keybd_event(0x50,0,0,0);
	//下面这行代码表示按下字母P以后。抬了起来
	keybd_event(0x50,0,KEYEVENTF_KEYUP,0);

     上面这两行代码。就实现了模拟按下字母P,根据这样的原理’我们可以模拟按下了一些组合的快捷键.好实现一些不容易实现的功能。我们知道.按下键盘上windows的标志键和字母r'就可以打开运行对话框。我们可以在程序中模拟按下这两个按键,在上面的程序中加入一个按钮。标题为”打开运行对话框”.在MFC ClassWizard中添加一个当我们使用鼠标单击这个控件时响应的函数。响应函数代码为:

void CKeyboardDlg::OnButton2() 
{
	
	 /*打开运行对话框*/
	//模拟按下键盘的上的windows的标志键
	keybd_event(0x5b,0,0,0);
	//模拟按下字母r
	 keybd_event(0x52,0,0,NULL);
	//模拟按下键盘上的windows的标志键后抬了起来
	 keybd_event(0x5b,0,KEYEVENTF_KEYUP,NULL);
	//模拟按下键盘的上的字母键r以后抬了起来
	 keybd_event(0x52,0,KEYEVENTF_KEYUP,0);
}

    好了,代码写完了,编译后运行,按下”打开运行对话框”后,就可以打开运行对话框了。以上的程序在windows9下,使用Visual c++6.0编译成功,运行良好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值