利用sendkeys打造具自动功能的vbs

 用过Visual Basic等编程语言的朋友们一定对其SendKeys函数非常熟悉。利用该函数可以把一个字符串发送到目标窗口(比如记事本)或控件(比如一个Edit控件)中,就好像是在目标窗口或控件中输入这个字符串一样。
sendkeys命令就是模拟键盘操作,将一个或者多个桉键指令发送到指定的windows窗口来控制应用程序运行,其使用的格式为:
object.sendkeys string
其中object指wshshell对象,string为要发送的指令字符串,需放在单引号后。
首先我们用一个简单的vbs文件说明:
codz start
============================================
shutdown.vbs
dim wshell
set wshell=createobject("wscript.shell")
wshell.sendkeys "^{ESC}u{ENTER}"
============================================
codz end
将以上代码保存为vbs文件,大家试运行一下,会出现什么效果呢?呵呵~
关于sendkeys的用法有几个需要注意的地方。
1.发送基本键:直接用按键本身来表示。如要发送d字符:wshell.sendkeys "d"
2.特殊功能键:shift用+表示
Ctrl用^表示
Alt用%表示
如发送Ctrl+E的组合键,用wshell.sendkeys "^E"
如需发送按住Ctrl的同时按下E和C,则为"^(EC)",而"^EC"表示同时按住Ctrl+E然后松开Ctrl按E
3.由于"+"、"^"、"%"这些字符表示上述几个特殊按键,要表示这些按键需用{},如sendkeys "{+}"
4.也可用大括号括起来按键的名称:
wshell.sendkeys "{ENTER}" 发送回车
wshell.sendkeys "{DOWN}"发送向下的方向键
5.如发送多个重复的单字母按键可简化为sendkeys "{a 10}"这样的形式,将a发送10次
下面来看一些简单的应用吧
1.让vbs自动在记事本输入一行字
codz start
===================================================
dim wshell
set wshell=CreateObject("wscript.shell")
wshell.run "notepad"
wscript.sleep 200
wshell.appactivate "无标题-记事本"
wshell.sendkeys "welcome to http://www.juntuan.net"
==================================================
codz end
2.定制能自动定时存盘的记事本
codz start
================================================================
dim wshell,autosavetime,txtfilename
autosavetime=300000
set wshell=wscript.createobject("wscript.shell")
txtfilename=inputbox("请输入你要创建的文件名(不能用中文和纯数字)")
wshell.run "notepad"
wscript.sleep 200
wshell.appactivate "无标题-记事本"
wshell.sendkeys "^s"
wscript.sleep 300
wshell.sendkeys txtfilename
wscript.sleep 300
wshell.sendkeys "%s"
wscript.sleep antosacvetime
while wshell.appactivate(txtfilename)=true
wshell.sendkeys "^s"
wscript.sleep autosavetime
wend
wscript.quit
================================================================ codz end
3.QQ自动登陆
codz start
================================================================
Dim WshShell, QQPath, QQselect
QQPath="c:/progra~1/tencent/qq/qq.exe" QQ路径
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run QQPath
WScript.Sleep 2000
WshShell.AppActivate "Q登录"
WshShell.SendKeys "+{TAB}"
WshShell.SendKeys "123456"QQ号码
WScript.Sleep 200
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "123456" QQ密码
WScript.Sleep 200
WshShell.SendKeys "{ENTER}"
================================================================
codz end
只须将以上代码中的QQ所在路径、QQ号码、密码改成你自己的,运行该vbs就可以自动登陆QQ了。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值