wshShell.SendKeys模拟键盘操作

转载自:https://www.cnblogs.com/clarke157/p/6674257.html

https://www.cnblogs.com/clarke157/

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}” ”表示;
发送向下的方向键用“ Wshshell.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}””即可。

为了说明在按下其它按键时应同时按下 SHIFT、CTRL、及 ALT 的任意组合键,请把那些按键的码放在括号当中。例如,为了说明按下 E 与 C 的时候同时按下 SHIFT 键,请使用 “+(EC)”。为了说明在按下 E 的时候同时按下 SHIFT 键,但接着按 C 而不按 SHIFT,则使用 “+EC”。

实际应用举例: ----------------------------------- 按下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 
---------------------------------------------------- 
自动死机o(∩_∩)o...
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}" 
  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值