20130608

VBScript 模擬鍵盤輸入SendKeys

wshShell.SendKeys

模擬鍵盤操作,將一個或多個按鍵指令發送到指定Windows窗口來控制應用程序運行, 其使用格式為:

object.SendKeys(string)

object:表示WshShell對象

string:表示要發送的按鍵指令字符串,需要放在英文雙引號中。


Dim wshShell


Set wshShell = CreateObject("Wscript.Shell")
wshShell.SendKeys "{ENTER}"

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

Tips:如果需要發送多個重復的單字母按鍵,不必重復輸入該字母,SendKeys允許使用簡化格式進行描述,使用格式為“{按鍵 數字}”。例如要發送10個字母“x”,則輸入“WshShell.SendKeys "{x 10}"”即可。

3.實例:
----------------------------------------------------
按下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
----------------------------------------------------

引數
BACKSPACE
{BACKSPACE}, {BS}, or {BKSP}
BREAK
{BREAK}
CAPS LOCK
{CAPSLOCK}
DEL or DELETE
{DELETE} or {DEL}
DOWN ARROW
{DOWN}
END
{END}
ENTER
{ENTER} or ~
ESC
{ESC}
HELP
{HELP}
HOME
{HOME}
INS or INSERT
{INSERT} or {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}
F11
{F11}
F12
{F12}
F13
{F13}
F14
{F14}
F15
{F15}
F16
{F16}

沒有留言:

張貼留言