“未来的世界:方向比努力重要,能力比知识重要,健康比成绩重要,生活比文凭重要,情商比智商重要! ”    ——清华大学校长留给毕业生的一段话

妙用SendKeys简化重复操作2

上一篇 / 下一篇  2007-05-21 23:21:44

例三:制作能自动定时存盘的记事本

PK Ya'z;Zl7t0

我们最常用的记事本没有WordWPS那样的自动定时存盘功能,其实利用VBS脚本再加上SendKeys命令,就能弥补这个遗憾。打开记事本,输入以下内容(为容易描述和分析,把代码分为四个部分):51Testing软件测试网9a/^5u `-b5V,dX6n

'第一部分:定义变量和对象51Testing软件测试网*K8CR9t&KDPg O

Dim WshShell, AutoSaveTime, TXTFileName

x_lV0M~?0

AutoSaveTime=30000051Testing软件测试网[D \xE

Set WshShell=Wscrīpt.CreateObject("Wscrīpt.Shell")51Testing软件测试网fg rC6b|$Gv

TXTFileName=InputBox("请输入你要创建的文件名(不能用中文和纯数字)")51Testing软件测试网w+_$Ixl4}3_O.`

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

:S6Q3B*t%oP~@"n0

WshShell.Run "notepad"51Testing软件测试网"]E~+y4z)M

Wscrīpt.Sleep 200

;b6Pk`8L+i4o;n0

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

$A7OCYh#A5G(K zh?,_t0

'第三部分:用输入的文件名存盘51Testing软件测试网{}x{ P

WshShell.SendKeys "^s"

(b/pP _sL(t0

Wscrīpt.Sleep 300

f k&Ani0

WshShell.SendKeys TXTFileName51Testing软件测试网1KZ C'^.PUzX

Wscrīpt.Sleep 30051Testing软件测试网7T9]Q Pz#r}/F

WshShell.SendKeys "%s"51Testing软件测试网8l#V7q?E8Y0g

Wscrīpt.Sleep AutoSaveTime

I d)eei#z`#_g0

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

F&E#N+QR|[B'H0

While WshShell.AppActivate (TXTFileName)=True51Testing软件测试网4CE U1X!q,x#LoB9y] }

WshShell.SendKeys "^s"

!W:dN)pw.{.\7~0

Wscrīpt.Sleep AutoSaveTime51Testing软件测试网d$S$t9z-bilAI

Wend51Testing软件测试网YX'Z}q q4eS&vi

Wscrīpt.Quit51Testing软件测试网 JOUJx$oY

将其保存为记事本.vbs,以后要使用记事本时,都通过双击这个脚本文件来打开。

*pv/s2uz-Vaa0

程序说明:这个脚本的基本思路是定时向记事本发送CtrlS这个存盘组合键。51Testing软件测试网:e,o[^K K6C

第一部分:定义了脚本中需要用到的变量和对象。“AutoSaveTime”变量用来设置自动存盘间隔,单位为毫秒,这里设置为5分钟。“TXTFileName”变量通过输入框取得你要创建的文本文件名称。

aCy(ad2kbF0

第二部分:运行记事本,对于Windows本身提供的程序,比如计算器等,可直接在“WshShell.Run”后输入程序名称,如"calc",对于非系统程序,则可输入完全路径,但要注意使用8.3格式输入,比如“"D:\Progra~1\Tencent\QQ.exe"”51Testing软件测试网n S K qS!x

第三部分:这里用SendKeys命令执行了这样的操作流程(请注意每个操作之间延时命令的使用):在记事本中按CtrlS组合键弹出保存文件的窗口输入文件名AltS组合键进行保存(默认保存在我的文档目录)。51Testing软件测试网P n?6dU@\bz

第四部分:定时存盘的关键,通过“While……Wend”这个当条件为时循环命令,实现自动存盘代码“WshShell.SendKeys "^s"”和定时代码“Wscrīpt.Sleep AutoSaveTime”的重复执行。因为不能让这个定时存盘循环一直执行,退出记事本后,必须自动退出脚本并结束循环,所以设计了一个循环判断条件“WshShell.AppActivate TXTFileName=True”,当记事本运行中时,可以激活记事本窗口,这个条件运行结果为“True”,定时存盘循环一直执行,退出记事本后,脚本无法激活记事本窗口,就会跳出循环,执行“Wend”后面的“Wscrīpt.Quit”退出脚本。

\S_B,z0

例四:关机菜单立刻显身51Testing软件测试网H2h:t.gC7Xx'aX

打开记事本,输入以下命令,并将其保存为1.vbs

TpG T:o{D+W0

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

"ai0VI*C#qu0

WshShell.SendKeys "^{ESC}u"51Testing软件测试网,o w km,d8r\-D

双击运行它,你会发现关机菜单立刻出现了。51Testing软件测试网v)Rn7^7~b!I(D

“WshShell.SendKeys "^{ESC}u"”改为“WshShell.SendKeys "^+{ESC}"”,运行一下看看是否打开了任务管理器

$Q2Ow.VoA4l5Gv2B0

TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-20  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 58032
  • 日志数: 103
  • 图片数: 4
  • 文件数: 2
  • 建立时间: 2007-05-20
  • 更新时间: 2010-11-23

RSS订阅

Open Toolbar