SendKeys方法模拟键盘

什么是VBscript 呢?html

VBscrīpt 的全称是:Microsoft Visual Basic scrīpt Editon.(微软公司可视化BASIC 脚本shell

版). VBS(VBscrīpt 的进一步简写)是基于Visual Basic 的脚本语言,其不编译成二进制文件, 而是直接由app

宿主(host)解释源代码并执行, 简单点说就是你写的程序不须要编译成.exe, 而是直接给用户发送.vbs 的ide

源程序, 用户就能执行了.ui

SendKeys 方法spa

模拟键盘操做,将一个或多个按键指令发送到指定Windows 窗口来控制应用程序运行,orm

其使用格式为:object.SendKeys(string)htm

“object”:表示WshShell 对象对象

“string”:表示要发送的按键指令字符串,须要放在英文双引号中。ip

-----------------------------------

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}" ”表示;

发送向下的方向键用“ Wshell.SendKeys "{DOWN}" ”表示。

Space---------WshShell.SendKeys " "

Enter---------WshShell.SendKeys "{ENTER}"

←---------WshShell.SendKeys "{RIGHT}"

↑---------WshShell.SendKeys "{UP}"

F1---------WshShell.SendKeys "{F1}"

 

 

 

按键代码

BACKSPACE {BACKSPACE}, {BS}, 或{BKSP}

BREAK {BREAK}

CAPS LOCK {CAPSLOCK}

DEL or Delete {Delete} 或{DEL}

DOWN ARROW {DOWN}

END {END}

ENTER {ENTER}或~

ESC {ESC}

HELP {HELP}

HOME {HOME}

INS or Insert {Insert} 或{INS}

LEFT ARROW {LEFT}

NUM LOCK {NUMLOCK}

PAGE DOWN {PGDN}

PAGE UP {PGUP}

PRINT SCREEN {PRTSC}

RIGHT ARROW {RIGHT}

SCROLL LOCK {SCROLLLOCK}

TAB {TAB}

UP ARROW {UP}

F1 {F1}

F2 {F2}

F3 {F3}

F4 {F4}

F5 {F5}

F6 {F6}

F7 {F7}

F8 {F8}

F9 {F9}

F10 {F10}

 

Tips:若是须要发送多个重复的单字母按键,没必要重复输入该字母,SendKeys 容许使用简化格式进行描述,

使用格式为“{按键数字}”。例如要发送10 个字母“x”,则输入“WshShell.SendKeys "{x 10}"”即

可。

-----------------------------------

按下F5 刷新桌面

 

Dim WshShell,Path,i

Set WshShell = Wscrīpt.CreateObject("Wscrīpt.Shell")

WshShell.SendKeys "{F5}"

----------------------------------------------------

 

电脑的自动重启

set WshShell = CreateObject("Wscrīpt.Shell")

WshShell.SendKeys "^{ESC}u"

WshShell.SendKeys "R"

 

----------------------------------------------------

启动任务管理器

set WshShell = CreateObject("Wscrīpt.Shell")

WshShell.SendKeys "^+{ESC}"

----------------------------------------------------

QQ 消息连发

Dim WshShell

Set WshShell= Wscrīpt.createObject("Wscrīpt.Shell")

WshShell.AppActivate "bomb"

for i=1 to 60

Wscrīpt.Sleep 800

WshShell.SendKeys "What do you say"

WshShell.SendKeys i

WshShell.SendKeys "%s"

next

----------------------------------------------------

自动到百度搜索歌曲:white flag

Dim WshShell,Path,i

Set WshShell = Wscrīpt.CreateObject("Wscrīpt.Shell")

WshShell.Run("IEXPLORE.EXE")

Wscrīpt.Sleep 2000

WshShell.AppActivate "about:blank-Microsoft Internet Explorer"

WshShell.SendKeys "+{TAB}"

WshShell.SendKeys "http://mp3.baidu.com"

Wscrīpt.Sleep 800

WshShell.SendKeys "{ENTER}"

Wscrīpt.Sleep 3000

WshShell.SendKeys "white flag"

Wscrīpt.Sleep 800

WshShell.SendKeys "{ENTER}"

----------------------------------------------------

自动关机

Dim WshShell

Set WshShell=Wscrīpt.CreateObject("Wscrīpt.Shell")

Wscrīpt.Sleep 2000

WshShell.Run "shutdown -r -t 120"

wscrīpt.sleep 6000

WshShell.Run "shutdown -a"

----------------------------------------------------

在记事本中输入Happy Birthday!并保存为birth.txt

 

Dim WshShell

Set WshShell=Wscrīpt.CreateObject("Wscrīpt.Shell")

WshShell.Run "notepad"

 

Wscrīpt.Sleep 1500

WshShell.AppActivate "无标题- 记事本"

WshShell.SendKeys "H"

Wscrīpt.Sleep 500

WshShell.SendKeys "a"

Wscrīpt.Sleep 500

WshShell.SendKeys "p"

Wscrīpt.Sleep 500

WshShell.SendKeys "p"

Wscrīpt.Sleep 500

WshShell.SendKeys "y"

Wscrīpt.Sleep 500

WshShell.SendKeys " "

Wscrīpt.Sleep 500

WshShell.SendKeys "B"

Wscrīpt.Sleep 500

WshShell.SendKeys "i"

Wscrīpt.Sleep 500

WshShell.SendKeys "r"

Wscrīpt.Sleep 500

WshShell.SendKeys "t"

Wscrīpt.Sleep 500

WshShell.SendKeys "h"

Wscrīpt.Sleep 500

WshShell.SendKeys "d"

Wscrīpt.Sleep 500

WshShell.SendKeys "a"

Wscrīpt.Sleep 500

WshShell.SendKeys "y"

Wscrīpt.Sleep 500

WshShell.SendKeys "!"

Wscrīpt.Sleep 500

WshShell.SendKeys "%FS"

Wscrīpt.Sleep 500

WshShell.SendKeys "b"

Wscrīpt.Sleep 500

WshShell.SendKeys "i"

Wscrīpt.Sleep 500

WshShell.SendKeys "r"

Wscrīpt.Sleep 500

WshShell.SendKeys "t"

Wscrīpt.Sleep 500

WshShell.SendKeys "h"

Wscrīpt.Sleep 500

WshShell.SendKeys "%S"

Wscrīpt.Sleep 500

WshShell.SendKeys "%FX"

----------------------------------------------------

制做能自动定时存盘的记事本

 

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

Dim WshShell, AutoSaveTime, TXTFileName

AutoSaveTime=300000

Set WshShell=Wscrīpt.CreateObject("Wscrīpt.Shell")

TXTFileName=InputBox("请输入你要建立的文件名(不能用中文和纯数字):")

 

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

WshShell.Run "notepad"

Wscrīpt.Sleep 200

WshShell.AppActivate "无标题- 记事本"

 

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

WshShell.SendKeys "^s"

Wscrīpt.Sleep 300

WshShell.SendKeys TXTFileName

Wscrīpt.Sleep 300

WshShell.SendKeys "%s"

Wscrīpt.Sleep AutoSaveTime

 

'第四部分:自动定时存盘

While WshShell.AppActivate (TXTFileName)=True

WshShell.SendKeys "^s"

Wscrīpt.Sleep AutoSaveTime

Wend

Wscrīpt.Quit

----------------------------------------------------

DIM WSHSHELL

SET WSHSHELL=Wscrīpt.CreateOBJECT("Wscrīpt.SHELL")

'WSHSHELL.RUN " "

'Wscrīpt.SLEEP 1000

WSHSHELL.SENDKEYS "{ENTER}"

'Wscrīpt.SLEEP 1000

WSHSHELL.SENDKEYS "{ENTER}"

'Wscrīpt.SLEEP 1000

WSHSHELL.SENDKEYS "{ENTER}"

'Wscrīpt.SLEEP 1000

WSHSHELL.SENDKEYS "{ENTER}"

'Wscrīpt.SLEEP 1000

WSHSHELL.SENDKEYS "{ENTER}"

来源:http://www.jacktesting.com/testing_script/vbscript/91.html

相关文章
相关标签/搜索