vb中sendkeys用法,vb中sendkeys的使用
今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!
1、语句的功能:将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样。
2、每个按键由一个或多个字符表示。为了指定单一键盘字符,必须按字符本身的键。例如,为了表示字母
3、string。为了表示多个字符,就必须在字符后面直接加上另一个字符。例如,要表示
4、都具有特殊意义。为了指定上述任何一个字符,要将它放在大括号
5、来说并不具有特殊意义,但必须将它们放在大括号中。在其它应用程序中,方括号有特殊意义,在出现动态数据交换
6、的时候,它可能具有重要意义。为了指定大括号字符,请使用
7、等按键结合的组合键,可在这些按键码的前面放置一个或多个代码,这些代码列举如下:
8、为了说明在按下其它按键时应同时按下
9、的任意组合键,请把那些按键的码放在括号当中。例如,为了说明按下
10、将按键消息发送到这样一个应用程序,这个应用程序并没有被设计成在
其中,string是指定要发送的按键消息;Wait是指定等待方式的 Boolean值,如果为 False(缺省值),则控件在按键发送出去之后立刻返回到过程;如果为 True,则按键消息必须在控件返回到过程之前加以处理。
按键消息由一个或多个字符序列表示:键盘字符按字符本身的键表示(如对于字母 A,string="A",对连续字母 win98,string="win98"),对其它一些特殊字符,如+号用{+}表示,Shift键用+表示,Alt键用%表示,F1键用{F1}表示等等,更多的按键与代码的对应关系,可参考 MSDN的帮助信息。
明白了这些“规则”之后,我们首先来编写一个用 SendKeys操控计算器的程序,程序代码如下:
ReturnValue= Shell("CALC.EXE", 1)'运行计算器
AppActivate ReturnValue'激活计算器
For I= 1 To 100'设置计数循环
SendKeys I&"{+}", True'按下按键给计算器
SendKeys"=", True'取得总和
SendKeys"%{F4}", True'按 ALT+F4关闭计算器
程序中 AppActivate ReturnValue语句用来激活计算器,使其窗口获得焦点。程序运行后,我们会看到计算器的按键自动动作起来,最后计算出 1+2+3+…+100的结果。这可不是病毒,也不是黑客啊!
怎么样,神奇吧?想没想到这可是制做演示程序的好方法!只要熟悉了某程序的键盘操作序列,就可以用程序模拟它的运行过程。下面的程序用来模拟运行安装在 D:盘的 Word程序,自动打出 4行文字后,然后退出。程序中为了能仔细观察演示过程,设计了 waittime函数来进行延时。
x= Shell("D:/Program Files/Microsoft Office/Office/winword.exe", vbNormalFocus)
SendKeys"This is a demo program for Microsoft Word97.", True'模拟输入英文字符串
SendKeys"{Enter}{Enter}", True'两次回车
SendKeys"Some letters keyin automatically.", True
SendKeys"{Enter}{Enter}", True
SendKeys"Not virus,and not hackers!", True
SendKeys"{Enter}{Enter}", True
SendKeys"Being Exit... Look the MenuBar File{(}F{)}...", True
SendKeys"%", True'Alt键激活菜单条
SendKeys"(F)", True'按字母"F",选择"文件(F)"菜单
SendKeys"(X)", True'按字母"X",选择"退出(X)"
SendKeys"(N)", True'Word弹出一个对话框,询问文件是否存盘,按"N"不存盘
Private Sub waittime(delay As Single)
Do Until(Timer- starttime)> delay
wwW.Xtw.Com.cN系统网专业的PC、手机系统开发下载平台,HarmonyOS系统、安卓、OS、windows电脑重装系统在线下载安装,操作系统平台技术学习,攻略教程,技术交流。
免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!
联系邮箱:773537036@qq.com