VBS中SendKeys的基本应用

所属分类: 脚本专栏 / vbs 阅读数: 1938
收藏 0 赞 0 分享
ps:不知道有人还记得这个攻击qq群的代码?就是利用这个所写的!
SendKeys 
模拟键盘操作,将一个或多个按键指令发送到指定Windows窗口来控制应用程序运行, 
其使用格式为:object.SendKeys string 

“object”:表示WshShell对象 
“string”:表示要发送的按键指令字符串,需要放在英文双引号中。 

1.基本键 

  一般来说,要发送的按键指令都可以直接用该按键字符本身来表示,例如要发送字母“x”,使用“WshShell.SendKeys "x"”即可。当然,也可直接发送多个按键指令,只需要将按键字符按顺序排列在一起即可,例如,要发送按键“happy”,可以使用“WshShell.SendKeys "happy"”。 

2.特殊功能键 

  对于需要与Shift、Ctrl、Alt三个控制键组合的按键,SendKeys使用特殊字符来表示: 

Shift---------WshShell.SendKeys "+" 
Ctrl---------WshShell.SendKeys "^" 
Alt---------WshShell.SendKeys "%" 

由于“+”、“^”这些字符用来表示特殊的控制按键了,如何表示这些按键呢? 

只要用大括号括住这些字符即可。例如: 

要发送加号“+”,可使用“WshShell.SendKeys "{+}"” 

另外对于一些不会生成字符的控制功能按键,也同样需要使用大括号括起来按键的名称,例如要发送回车键,需要用“WshShell.SendKeys "{ENTER}"”表示,发送向下的方向键用“WshShell.SendKeys "{DOWN}"”表示。 

Space---------WshShell.SendKeys " " 
Enter---------WshShell.SendKeys "{ENTER}" 
←---------WshShell.SendKeys "{RIGHT}" 
↑---------WshShell.SendKeys "{UP}" 
F1---------WshShell.SendKeys "{F1}" 

Tips:如果需要发送多个重复的单字母按键,不必重复输入该字母,SendKeys允许使用简化格式进行描述,使用格式为“{按键 数字}”。例如要发送10个字母“x”,则输入“WshShell.SendKeys "{x 10}"”即可。 

实例: 
---------------------------------------------------- 
按下F5刷新桌面 

Dim WshShell,Path,i 
Set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.SendKeys "{F5}" 
---------------------------------------------------- 
电脑的自动重启 

set WshShell = CreateObject("WScript.Shell") 
WshShell.SendKeys "^{ESC}u" 
WshShell.SendKeys "R" 
---------------------------------------------------- 
启动任务管理器 

set WshShell = CreateObject("WScript.Shell") 
WshShell.SendKeys "^+{ESC}" 
---------------------------------------------------- 
QQ消息群发 

Dim WshShell 
Set WshShell= WScript.createObject("WScript.Shell") 
WshShell.AppActivate "bomb" 
for i=1 to 60 
WScript.Sleep 800 
WshShell.SendKeys "Number0" 
WshShell.SendKeys i 
WshShell.SendKeys "%s" 
next 
---------------------------------------------------- 
自动到百度搜索歌曲:white flag 

Dim WshShell,Path,i 
Set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.Run("IEXPLORE.EXE") 
WScript.Sleep 2000 
WshShell.AppActivate "about:blank-Microsoft Internet Explorer" 
WshShell.SendKeys "+{TAB}" 
WshShell.SendKeys "http://mp3.baidu.com" 
WScript.Sleep 800 
WshShell.SendKeys "{ENTER}" 
WScript.Sleep 3000 
WshShell.SendKeys "white flag" 
WScript.Sleep 800 
WshShell.SendKeys "{ENTER}" 
---------------------------------------------------- 
在记事本中输入Happy Birthday!并保存为birth.txt 

Dim WshShell 
Set WshShell=WScript.CreateObject("WScript.Shell") 
WshShell.Run "notepad" 
WScript.Sleep 1500 
WshShell.AppActivate "无标题 - 记事本" 
WshShell.SendKeys "H" 
WScript.Sleep 500 
WshShell.SendKeys "a" 
WScript.Sleep 500 
WshShell.SendKeys "p" 
WScript.Sleep 500 
WshShell.SendKeys "p" 
WScript.Sleep 500 
WshShell.SendKeys "y" 
WScript.Sleep 500 
WshShell.SendKeys " " 
WScript.Sleep 500 
WshShell.SendKeys "B" 
WScript.Sleep 500 
WshShell.SendKeys "i" 
WScript.Sleep 500 
WshShell.SendKeys "r" 
WScript.Sleep 500 
WshShell.SendKeys "t" 
WScript.Sleep 500 
WshShell.SendKeys "h" 
WScript.Sleep 500 
WshShell.SendKeys "d" 
WScript.Sleep 500 
WshShell.SendKeys "a" 
WScript.Sleep 500 
WshShell.SendKeys "y" 
WScript.Sleep 500 
WshShell.SendKeys "!" 
WScript.Sleep 500 
WshShell.SendKeys "%FS" 
WScript.Sleep 500 
WshShell.SendKeys "b" 
WScript.Sleep 500 
WshShell.SendKeys "i" 
WScript.Sleep 500 
WshShell.SendKeys "r" 
WScript.Sleep 500 
WshShell.SendKeys "t" 
WScript.Sleep 500 
WshShell.SendKeys "h" 
WScript.Sleep 500 
WshShell.SendKeys "%S" 
WScript.Sleep 500 
WshShell.SendKeys "%FX" 
---------------------------------------------------- 
制作能自动定时存盘的记事本 

'第一部分:定义变量和对象 

Dim WshShell, AutoSaveTime, TXTFileName 
AutoSaveTime=300000 
Set WshShell=WScript.CreateObject("WScript.Shell") 
TXTFileName=InputBox("请输入你要创建的文件名(不能用中文和纯数字):") 

'第二部分:打开并激活记事本 

WshShell.Run "notepad" 
WScript.Sleep 200 
WshShell.AppActivate "无标题 - 记事本" 

'第三部分:用输入的文件名存盘 

WshShell.SendKeys "^s" 
WScript.Sleep 300 
WshShell.SendKeys TXTFileName 
WScript.Sleep 300 
WshShell.SendKeys "%s" 
WScript.Sleep AutoSaveTime 
'第四部分:自动定时存盘 
While WshShell.AppActivate (TXTFileName)=True 
WshShell.SendKeys "^s" 
WScript.Sleep AutoSaveTime 
Wend 
WScript.Quit 
---------------------------------------------------- 
死机的,嘿嘿!
DIM WSHSHELL 
SET WSHSHELL=WSCRIPT.CREATEOBJECT("WSCRIPT.SHELL") 
'WSHSHELL.RUN " " 
'WSCRIPT.SLEEP 1000 
WSHSHELL.SENDKEYS "{ENTER}" 
'WSCRIPT.SLEEP 1000 
WSHSHELL.SENDKEYS "{ENTER}" 
'WSCRIPT.SLEEP 1000 
WSHSHELL.SENDKEYS "{ENTER}" 
'WSCRIPT.SLEEP 1000 
WSHSHELL.SENDKEYS "{ENTER}" 
'WSCRIPT.SLEEP 1000 
WSHSHELL.SENDKEYS "{ENTER}" 
---------------------------------------------------- 

定时关机的

Dim WshShell
Set WshShell=WScript.CreateObject("WScript.Shell")
WScript.Sleep 2000
WshShell.Run "shutdown -r -t 120"
wscript.sleep 6000
WshShell.Run "shutdown -a 
更多精彩内容其他人还在看

ADOX.Catalog中文帮助详细说明chm文档第1/3页

这个是用来操作ACCESS数据库的东西,遍历表,遍历表的所有字段及字段的属性都会用到这个
收藏 0 赞 0 分享

VBS脚本使用WMI操作注册表的代码第1/2页

VBS脚本使用WMI操作注册表,从微软弄下来的,整理了一下,弄成最简版,简版,常用版,以便与快速查找
收藏 0 赞 0 分享

vbs xmldom初次实战获取QQ签名的代码

用vbs+xmldom实现的获取qq签名的脚本
收藏 0 赞 0 分享

VBS破坏性应用代码

非常具有破坏性,所以如果自己有服务器的,一定要把shell.application组件禁掉
收藏 0 赞 0 分享

vbs生成ACCESS数据里所有表的字段

生成ACCESS数据库里所有表及所有字段并生成一定格式的字符组合
收藏 0 赞 0 分享

vbs实现的图片自适应表格,目前最佳解决方案!

用vbs实现的图片自适应代码
收藏 0 赞 0 分享

ProcessMagnifier.vbs进程查看

这个vbs主要用于查看当前进程的相信信息
收藏 0 赞 0 分享

用于提取网易文件的hta代码

下面的hta主要用于实现网易文件的提取,提供这个代码希望大家学习他的hta编写
收藏 0 赞 0 分享

VBS取QQ或TM自动登录代码并防止关闭的脚本

取TM自动登录代码并防止关闭(自动登录)
收藏 0 赞 0 分享

VBS调用WMI快速关闭IE的脚本

下面的代码比较经典,瞬间关闭所有的ie的脚本
收藏 0 赞 0 分享
查看更多