sendkeys 组合键
sendkeys 组合键
'SendKeys.Send("^3")
'SendKeys.SendWait("^3")
SendKeys 无法在此应用程序内运行,原因是此应用程序不处理 Windows 消息。请将此应用程序更改为可处理消息,或者使用 SendKeys.SendWait 方法。
在SendKeys 不能使用的时候,可以使用keybd_event
keybd_event(17, 0, 0, 0) '按下ctrl键
keybd_event(51, 0, 0, 0) '按下3键
keybd_event(51, 0, WinAPI.KEYEVENTF_KEYUP, 0)
keybd_event(17, 0, WinAPI.KEYEVENTF_KEYUP, 0)
在测试的过程中,经常会遇到这样的情况:
1. 需要使用到一些按键的操作,如按Enter,F1什么的情况;
2. 需要模拟组合键的情况,如按Ctrl+A什么的;
3. 需要无法识别的控件中输入一些东西。
在这时候就可以使用SendKeys来进行模拟按键的操作。
先上一个例子:
[vb] view plain copy
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{ENTER}"
如果要发送的是一个字符串,就可以:
[vb] view plain copy
WshShell.SendKeys "hello"
如果是一些组合按钮,如:Shift、Ctrl、Alt,可用特殊字符代替:
[vb] view plain copy
WshShell.SendKeys "+" '按Shift
WshShell.SendKeys "^" '按Ctrl
WshShell.SendKeys "%" '按Alt
WshShell.SendKeys "^s" '按Ctrl+S进行保存的操作
如果是一些特殊的按键,如空格什么的:
[vb] view plain copy
WshShell.SendKeys "{ENTER}" '按回车
WshShell.SendKeys "{UP}" '按光标向上
WshShell.SendKeys "{LEFT}" '按光标向左
WshShell.SendKeys "{F1}" '按F1
用这个方法就能模拟一些按键的操作。
平面两点距离
Vb.net 中使用半个中文字符宽度?