用程序模拟键盘和鼠标键盘

2016-02-19 19:33 71 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的用程序模拟键盘和鼠标键盘,希望大家看完后能赶快学习起来。

【 tulaoshi.com - 编程语言 】

在Windows大行其道的今天,windows界面程序受到广大用户的欢迎。对这些程序的操作不外乎两种,键盘输入控制和鼠标输入控制。有时,对于繁杂的,或重复性的操作,我们能否通过编制程序来代替手工输入,而用程序来模拟键盘及鼠标的输入呢?答案是肯定的。这主要是通过两个API函数来实现的。   

  下面以Delphi为例来介绍一下如何实现这两个功能。模拟键盘我们用Keybd_event这个api函数,模拟鼠标按键用mouse_event函数。大家不用担心,在delphi里调用api函数是很方便的事。   
  
  先介绍一下Keybd_event函数。Keybd_event能触发一个按键事件,也就是说回产生一个WM_KEYDOWN或WM_KEYUP消息。当然也可以用产生这两个消息来模拟按键,但是没有直接用这个函数方便。Keybd_event共有四个参数,第一个为按键的虚拟键值,如回车键为vk_return, tab键为vk_tab。第二个参数为扫描码,一般不用设置,用0代替就行。第三个参数为选项标志,如果为keydown则置0即可,如果为keyup则设成“KEYEVENTF_KEYUP”,第四个参数一般也是置0即可。用如下代码即可实现模拟按下i键,其中的$49表示i键的虚拟键值:
  
  

keybd_event($49,0,0,0);
  keybd_event($49,0,KEYEVENTF_KEYUP,0); ...   
  
  

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  mouse_event最好配合setcursorpos(x,y)函数一起使用,与Keybd_event类似,mouse_event有五个参数,第一个为选项标志,为MOUSEEVENTF_LEFTDOWN时表示左键按下,为MOUSEEVENTF_LEFTUP表示左键松开,向系统发送相应消息。第二三个参数分别表示x,y相对位置,一般可设为0,0,第四五个参数并不重要,一般也可设为0,0。若要得到Keybd_event和mouse_event函数的更详细的用法,可以查阅msdn或delphi帮助。下面是关于mouse_event的示例代码:
   

setcursorpos(20,132);
  mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
  mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
  mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
  mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); ...

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)


   上面的代码表示鼠标的双击,若要表示单击,用两个mouse_event即可(一次放下,一次松开)。  
   注意,不管是模拟键盘还是鼠标事件,都要注意还原,即按完键要松开,一个keydown对应一个keyup;鼠标单击 完也要松开, 不然可能影响程序的功能。  
   
   好了,希望本文能让你对模拟键盘和鼠标按键有个初步的了解,如果想更深入的了解其中的奥妙,可以查阅详实的msdn在线帮助,并多多动手实践。

来源:http://www.tulaoshi.com/n/20160219/1621295.html

延伸阅读
标签: autocad教程
用户在AutoCAD系统中工作时,最主要的输入设备是键盘和鼠标,下面介绍如何在AutoCAD中使用键盘和鼠标。 2.1.1 使用键盘 AutoCAD同以前版本一样,同时提供了图形窗口和文字窗口。通常在图形窗口和状态栏之间显示其部分文本窗口和命令行,如图2-1所示。 在AutoCAD系统中为用户提供了许多的命令,用户可以使用键盘在命令行...
标签: autocad教程
    用户在AutoCAD系统中工作时,最主要的输入设备是键盘和鼠标,下面介绍如何在AutoCAD中使用键盘和鼠标。 2.1.1 使用键盘      AutoCAD同以前版本一样,同时提供了图形窗口和文字窗口。通常在图形窗口和状态栏之间显示其部分文本窗口和命令行,如图2-1所示。     在AutoCAD系统中为...
在程序运行中,产生事件的主体有很多,其中尤其以键盘和鼠标为最多。本文就来探讨一下在C#中和这二个主体相关的事件的处理过程。 一.本文介绍的程序设计和运行的软件环境: (1).微软公司视窗2000服务器版 (2)..Net FrameWork SDK Beta 2 二.C#中处理鼠标相关的事件: 鼠标相关的事件大致有六种,分别是 ...
该程序通过并行机制处理鼠标和键盘的消息,为了简化程序裁减了一些代码,该程序可用为基础在该程序上添加代码可用于文本编辑,游戏和其他鼠标键盘通用的程序.#include graphics.h #include stdio.h #include conio.h #include dos.h #include bios.h union REGS regs; unsigned size; void far *Buffer; int ScanK...
标签: 电脑入门
无法识别USB设备,各位大概都遇到过。出现了这样的状况系统的USB设备:USB鼠标、USB键盘也就用不了了。重启之后仍然无法解决。这样的故障通常由以下三种因素的影响: 一.BIOS设置问题 由于早期的一部分主板上默认的USB keyboardsupport项为Disable。此时可以借用他人的(PS/2)键盘进入BIOS中修改参数为Enable,或者是利用厂家提供的USBPS/2转...

经验教程

944

收藏

58
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部