永发信息网

VB中的sendkeys用法

答案:3  悬赏:60  手机版
解决时间 2021-03-26 05:26
  • 提问者网友:蓝琪梦莎
  • 2021-03-25 14:37
VB中的sendkeys用法
最佳答案
  • 五星知识达人网友:梦中风几里
  • 2021-03-25 16:07
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
全部回答
  • 1楼网友:duile
  • 2021-03-25 16:43
sendkeys "{HOME}"
sendkeys "{SCROLLLOCK}"
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯