VBS中SendKeys的基本应用

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

(0)

相关推荐

  • VBS sendkeys 模拟击键操作 问题解决

    复制代码 代码如下: ' ====================================== ' VBS 中 SendKeys 模拟键盘击键 ' 2009-07-26 ' 刘林 ' ====================================== Dim WshShell Set WshShell=WScript.CreateObject("WScript.Shell") WshShell.Run "cmd" ' 让脚本等待1000毫秒,也就是

  • vbscript sendkeys实例代码大全

    其使用格式为:object.SendKeys string "object":表示WshShell对象  "string":表示要发送的按键指令字符串,需要放在英文双引号中. 1.基本键 一般来说,要发送的按键指令都可以直接用该按键字符本身来表示,例如要发送字母"x",使用"WshShell.SendKeys "x""即可.当然,也可直接发送多个按键指令,只需要将按键字符按顺序排列在一起即可,例如,要发送按

  • SendKeys参考文档

    SendKeys参考文档 一直用foxipgw程序自动登录网关,今天做了一个自动调用foxipgw的程序,就不用每次点"确定"了,代码如下. set s= WScript.CreateObject("WScript.Shell")  app_window = s.run ("D:\Soft\FoxIPGW.EXE")  WScript.Sleep 200  s.AppActivate app_window   s.SendKeys "{

  • vbs sendKeys 16进制的结合使用(打开IE,静音,打开播放器等)

    复制代码 代码如下: Dim WshShell Set WshShell = CreateObject("Wscript.Shell") 下面的每一行都是一个不错的命令,请说出运行下列每个语句的效果.不要一次运行全部,逐个看效果. '打开IE 'WshShell.SendKeys Chr(&H88AC) '系统静音'WshShell.SendKeys Chr(&H88AD) 'WshShell.SendKeys Chr(&H88AE) 'WshShell.Sen

  • SendKeys clip.exe 发送中文的代码

    复制代码 代码如下: Set WshShell=CreateObject("WScript.Shell") code="让SendKeys可以发送中文" WshShell.Run "cmd.exe /c echo " & code & "| clip.exe", vbHide app=WshShell.Run ("notepad") WScript.Sleep 1000 WshShell.A

  • vbs sendKeys Virtual-Key Codes 十六进制符号

    Constants VK_LBUTTON (0x01) Left mouse button VK_RBUTTON (0x02) Right mouse button VK_CANCEL (0x03) Control-break processing VK_MBUTTON (0x04) Middle mouse button (three-button mouse) VK_XBUTTON1 (0x05) Windows 2000/XP: X1 mouse button VK_XBUTTON2 (0

  • VBS利用SendKeys输入中文字符的方法

    首先我们看一个输入字母的例子: 复制代码 代码如下: set s = WScript.CreateObject("WScript.Shell") app=s.Run ("C:\windows\notepad.exe") code="biweilun" WScript.Sleep 1000 s.AppActivate app s.SendKeys code Wscript.quit 这段vbs会SendKeys方法的朋友就知道,作用是打开一个记事本

  • VBS中SendKeys的基本应用

    ps:不知道有人还记得这个攻击qq群的代码?就是利用这个所写的!SendKeys 模拟键盘操作,将一个或多个按键指令发送到指定Windows窗口来控制应用程序运行,  其使用格式为:object.SendKeys string "object":表示WshShell对象  "string":表示要发送的按键指令字符串,需要放在英文双引号中. 1.基本键 一般来说,要发送的按键指令都可以直接用该按键字符本身来表示,例如要发送字母"x",使用&quo

  • VBS中Run和Exec的区别

    Set ws = CreateObject("WScript.Shell") '这里创建一个对象引用,以便在以下示例代码中使用. 'Demon注:这个变量名怎么这么猥琐(WS) 语法:(常识(Demon注:常识这个词我喜欢):作为过程使用时,不要加括号,否则出现编译器错误(参数唯一或没有时加括号不会出错,但建议不要加)) 复制代码 代码如下: ws.Run(strCommand, [intWindowStyle], [bWaitOnReturn]) [Set objExec =] ws

  • 在一个vbs中包含其他vbs文件的方法

    asp中   include file   包含其他文件vbs中 复制代码 代码如下: Option Explicit  On Error Resume Next Sub include(vbs)  Dim fso : Set fso = CreateObject("scripting.FileSystemObject")  Dim p : p   = Split(Wscript.ScriptFullName,"\")  p(UBound(p))  = vbs  p

  • VBS中InStrRev函数的第三个参数(Start)使用注意事项

    VBS中InStrRev函数使用过不少,但是几乎没有用过第三个参数,今天才发现第三个参数的用法跟我想的不太一样. 文档中是这么描述InStrRev函数的: 复制代码 代码如下: 返回某字符串在另一个字符串中出现的从结尾计起的位置. InStrRev(string1, string2[, start[, compare]]) 参数 string1 必选项.接受搜索的字符串表达式. string2 必选项.被搜索的字符串表达式. Start 可选项.数值表达式,用于设置每次搜索的开始位置.如果省略,

  • 在VBS中定义字节数组Byte()介绍

    晚上在 QQ 上看到昵称为"乱码"的好友回答了搜搜问问里一个问题: 在VBS中有办法定义字节数组么? 在VBS中有办法定义字节数组么?就是字节子类型数组(VarType是8209的那种)注意不是VB! 但是回答实在是不堪入目,连别人问什么都没搞懂,而且那人居然还满意,真不知道他在想什么. 闲来没事,我来简单回答一下.首先要搞清楚别人在问什么,VBS 是弱类型脚本语言,只有一种数据类型,称为 Variant,但是 Variant 可以进一步分为几种子类型,这里不展开,详见<VBSc

  • VBS中的SetLocale函数到底有什么用?

    VBS文档中对SetLocale函数的描述: 设置全球区域设置,并返回以前的区域设置. 一个 locale 是用户参考信息集合,与用户的语言.国家/地区和文化传统有关.该 locale 决定键盘布局.字母排序顺序和日期.时间.数字与货币格式. 简单的说,就是VBS中的一些函数的返回值与当前的locale相关,比如说MonthName函数: 复制代码 代码如下: Dim a(12), b(12) 'By Demon SetLocale "zh-cn" For i = 1 To 12 a(

  • VBS中CreateObject和WScript.CreateObject的区别介绍

    CreateObject和WScript.CreateObject的区别一: CreateObject是VBS的内置函数,属于语言的一部分:而WScript.CreateObject是Windows脚本宿主(wscript.exe和cscript.exe)提供的WScript对象的方法.类似于批处理中内部命令和外部命令的关系.在VBS中,CreateObject总是可用的,而WScript.CreateObject只有在宿主为wscript.exe和cscript.exe的情况下才可以使用,在W

  • VBS中常用脚本代码

    将域用户或租添加到本地组 Set objGroup = GetObject("WinNT://./Administrators") Set objUser = GetObject("WinNT://testnet/Engineers") objGroup.Add(objUser.ADsPath) 修改本地管理员密码 Set objcnlar = GetObject("WinNT://./administrator, user") objcnla.

  • VBS中通过调用CAPICOM对象实现SHA1&MD5加密

    本来打算自己写的,但是看到复杂的算法描述就知难而退了.算了吧,有现成的COM对象调用,又何必去关心算法呢,直接拿来使用就行了.如果下面的例子代码提示无法创建对象,需要下载CAPICOM组件并注册. 复制代码 代码如下: Const CAPICOM_HASH_ALGORITHM_MD2 = 1 Const CAPICOM_HASH_ALGORITHM_MD4 = 2 Const CAPICOM_HASH_ALGORITHM_MD5 = 3 Const CAPICOM_HASH_ALGORITHM_

随机推荐