「合集」VBS 代码 
激活窗口 
vbs
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.AppActivate "窗口标题"模拟输入 
vbs
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "按键"参考:博客园
1. 基本键
一般来说,要发送的按键都可以直接用该按键字符本身来表示:
发送字母
X,用WshShell.SendKeys "X"。
也可直接发送多个按键指令,只需要将按键字符按顺序排列在一起即可:
发送按键
Test,用WshShell.SendKeys "Test"。
2. 特殊功能键
对于需要与 Shift、Ctrl、Alt 三个控制键组合的按键,SendKeys 使用特殊字符来表示:
| 按键 | 代码 | 
|---|---|
| Shift | WshShell.SendKeys "+" | 
| Ctrl | WshShell.SendKeys "^" | 
| Alt | WshShell.SendKeys "%" | 
注意:这样使用时,不需要使用
大括号括起这些特殊字符。
由于 +、^ 这些字符用来表示特殊的控制按键,所以如果要表示这些 字符 的按键,要用 大括号 括住这些字符:
发送加号
+,用WshShell.SendKeys "{+}"。
对于一些不会生成字符的控制功能按键,也同样需要使用大括号括起来按键的名称。
 如果发送是基本字符用 “” 括起来:
发送
回车键,用WshShell.SendKeys "{ENTER}"
发送向下的方向键,用WshShell.SendKeys "{DOWN}"
3. 组合键
发送 Ctrl + Shift + ESC,用 WshShell.SendKeys "^+{ESC}"。
4. 发送多个重复的单字母按键
不必重复输入该字母,SendKeys 允许使用简化格式进行描述。
 使用格式:{按键 数字}
发送 10 个字母
X,用WshShell.SendKeys "{X 10}"。
5. 列表
| 按键 | 代码 | 
|---|---|
| ↑(UP ARROW) | |
| ↓(DOWN ARROW) | |
| ←(LEFT ARROW) | |
| →(RIGHT ARROW) | |
| BACKSPACE | {BACKSPACE} / {BS} / | 
| BREAK | |
| CAPS LOCK | |
| DEL(Delete) | {Delete} / | 
| END | |
| ENTER | {ENTER} / ~ | 
| ESC | |
| HELP | |
| HOME | |
| INS(Insert) | {Insert} / | 
| NUM LOCK | |
| PAGE DOWN | |
| PAGE UP | |
| PRINT SCREEN | |
| SCROLL LOCK | |
| Space | (空格) | 
| TAB | |
| F1 | |
| F2 | |
| F3 | |
| F4 | |
| F5 | |
| F6 | |
| F7 | |
| F8 | |
| F9 | |
| F10 | 
循环 
vbs
do
...
loop语音合成(TTS) 
vbs
CreateObject("SAPI.SpVoice").Speak "内容"暂停 
vbs
WScript.Sleep 毫秒示例代码 
模拟输入 
键盘灯闪烁 
倒计时(时间到后闪烁 NumLock 5 次,间隔 0.2s)
vbs
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
m = InputBox("分")
s = InputBox("秒")
WScript.sleep m*6000+s*1000
WshShell.SendKeys "{NUMLOCK}"
WScript.sleep 200
WshShell.SendKeys "{NUMLOCK}"
WScript.sleep 200
WshShell.SendKeys "{NUMLOCK}"
WScript.sleep 200
WshShell.SendKeys "{NUMLOCK}"
WScript.sleep 200
WshShell.SendKeys "{NUMLOCK}"
WScript.sleep 200
WshShell.SendKeys "{NUMLOCK}"
WScript.sleep 200
WshShell.SendKeys "{NUMLOCK}"
WScript.sleep 200
WshShell.SendKeys "{NUMLOCK}"
WScript.sleep 200
WshShell.SendKeys "{NUMLOCK}"
WScript.sleep 200
WshShell.SendKeys "{NUMLOCK}"循环闪烁(NumLock,间隔 1s)
vbs
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
do
WshShell.SendKeys "{NUMLOCK}"
WScript.Sleep 1000
loop循环闪烁(NumLock,自定义间隔)
vbs
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
t = InputBox("请输入闪烁间隔(毫秒)")
do
WshShell.SendKeys "{NUMLOCK}"
WScript.Sleep t
loop循环闪烁(3 灯轮换,间隔 0.5s)
vbs
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{NUMLOCK}"
WScript.Sleep 500
WshShell.SendKeys "{NUMLOCK}"
WScript.Sleep 500
do
WshShell.SendKeys "{NUMLOCK}"
WshShell.SendKeys "{CAPSLOCK}"
WScript.Sleep 500
WshShell.SendKeys "{CAPSLOCK}"
WshShell.SendKeys "{SCROLLLOCK}"
WScript.Sleep 500
WshShell.SendKeys "{SCROLLLOCK}"
WshShell.SendKeys "{NUMLOCK}"
WScript.Sleep 500
loop提示框 
简易,有输入框 
vbs
Dim i, msg
msg = "请输入内容:"
i = InputBox(msg)
Msgbox i音乐播放器 
简易,有输入框 
vbs
Set Player = CreateObject("WMPlayer.OCX")
song = InputBox("请输入歌曲路径" & vbCrLf & "", "简易音乐播放器 [等待中]")
if song <>"" then
do
Player.url = song
song = InputBox(song & vbCrLf & "", "简易音乐播放器 [正在播放]", song)
if song = "" then exit do
loop
end if
Set Player = nothing语音合成 
有输入框 
vbs
Set s = CreateObject("SAPI.SpVoice")
i = InputBox("请输入内容" & vbCrLf & "", "语音合成 [等待中]")
s.speak i