永发信息网

VB中的sendkeys用法

答案:3  悬赏:60  手机版
解决时间 2021-03-26 05:26
VB中的sendkeys用法
最佳答案
SendKeys string[, wait]
其中,string 是指定要发送的按键消息;Wait 是指定等待方式的 Boolean 值,如果为 False(缺省值),则控件在按键发送出去之后立刻返回到过程;如果为 True,则按键消息必须在控件返回到过程之前加以处理。
按键消息由一个或多个字符序列表示:键盘字符按字符本身的键表示(如对于字母 A,string="A",对连续字母 win98,string="win98"),对其它一些特殊字符,如 + 号用{+}表示,Shift 键用 + 表示,Alt 键用 % 表示,F1 键用 {F1} 表示等等,更多的按键与代码的对应关系,可参考 MSDN 的帮助信息。
明白了这些“规则”之后,我们首先来编写一个用 SendKeys 操控计算器的程序,程序代码如下:
Option Explicit
Private Sub Form_Load()
Dim ReturnValue, I
ReturnValue = Shell("CALC.EXE", 1) ' 运行计算器
AppActivate ReturnValue ' 激活计算器
For I = 1 To 100 ' 设置计数循环
SendKeys I & "{+}", True ' 按下按键给计算器
Next I ' 将所有 I 值相加
SendKeys "=", True ' 取得总和
SendKeys "%{F4}", True ' 按 ALT+F4 关闭计算器
End Sub
程序中 AppActivate ReturnValue 语句用来激活计算器,使其窗口获得焦点。程序运行后,我们会看到计算器的按键自动动作起来,最后计算出 1+2+3+…+100 的结果。这可不是病毒,也不是黑客啊!
怎么样,神奇吧?想没想到这可是制做演示程序的好方法!只要熟悉了某程序的键盘操作序列,就可以用程序模拟它的运行过程。下面的程序用来模拟运行安装在 D: 盘的 Word 程序,自动打出 4 行文字后,然后退出。程序中为了能仔细观察演示过程,设计了 waittime 函数来进行延时。
Option Explicit
Private Sub Form_Load()
Dim x
x = Shell("D:/Program Files/Microsoft Office/Office/winword.exe", vbNormalFocus)
'启动 Word97
SendKeys "This is a demo program for Microsoft Word97.", True ' 模拟输入英文字符串
SendKeys "{Enter}{Enter}", True ' 两次回车
waittime (2) ' 延时 2 秒
SendKeys "Some letters keyin automatically.", True
SendKeys "{Enter}{Enter}", True
waittime (2)
SendKeys "Not virus,and not hackers!", True
SendKeys "{Enter}{Enter}", True
waittime (2)
SendKeys "Being Exit... Look the MenuBar File{(}F{)}...", True
SendKeys "%", True 'Alt 键激活菜单条
waittime (1)
SendKeys "(F)", True '按字母 "F",选择"文件(F)"菜单
waittime (1)
SendKeys "(X)", True '按字母 "X", 选择"退出(X)"
waittime (2)
SendKeys "(N)", True 'Word 弹出一个对话框,询问文件是否存盘,按 "N" 不存盘
End '结束本模拟程序
End Sub
Private Sub waittime(delay As Single)
Dim starttime As Single
starttime = Timer
Do Until (Timer - starttime) > delay
Loop
End Sub
全部回答
sendkeys "{HOME}"
sendkeys "{SCROLLLOCK}"
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
液槽高效过滤器边框漏达不到万级,是整个系统
灾难片《后天2》即《后天II末日天火》谁有高
在ls-dyna中,load_body_z施加重力方面的困惑
学生还没毕业,毕业也不可能有机会开车,我有
用NDSL游戏机怎么才能够玩CPS1的街机游戏
腰扭到了怎样的睡姿才是正确的
今天刚到的小米5,但是发现手机有磕痕,怎么
gre320托福100gpa3.7能申请到美国top30吗?我
配货软件那个最好用,效率高?
这种全身粉红的是什么狗
软微计算机技术和软件工程哪个好考一些
怎样把水平仪红光修改成绿光?
买汽车买自动档好还是手动挡 手动的会不会很
我在针织厂上班,今天要求体检,但是我本身就
癸水女婚姻
推荐资讯
为什么CAD突然删不掉任何东西
在幕末时各大名的动员能力是不是不如战国时期
算式“7.7.7”25个7,乘积个位的数是多少?写
中国百家姓中哪些姓氏是大姓,这里面有哪些传
我的第一次不小心没有了,心里有点后悔,不知
中国电信吴兴云巢营业厅地址有知道的么?有点
难倒苏东坡的千古绝对··· 提锡壶,游西湖
占土木由可以加什么旁组字
无参函数没有参数,那我怎么使用,怎么输入变量
我有高低肩,怎么调整
安图妮是个奶就能进吗
哪一部国产动画主角叫铃铛
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?