根据项目中出现的刷新命令(WSHShell.SendKeys “{F5}”)引发的总结:
- 什么是WSHShell?
- WSHShell属于谁?
- wshNetWork又是什么?
- WSHShell由谁创建得来?*
- 扩展
最近做项目发现原来JS不光单纯的搞页面,原来还可以调批处理文件,这对一个菜鸟来说是一件多么惊奇的事啊!
代码如下:
刷新桌面命令
Set WSHShell = WScript.CreateObject(“WScript.Shell”);
WSHShell.SendKeys “{F5}”
什么是WSHShell?
windows是一种脚本宿主,WshShell对象,提供对本地windows外壳程序的访问。可使用此对象访问windows shell的一些应用,主要用于运行本地程序、操作注册表程序、创建快捷键、处理环境变量、发送键盘符等。
WSHShell属于谁?
WScript:Windows Script Host Object Mode。
简单说就是一个windows脚本宿主对象模型,而WScript是一个基于windows脚本宿主对象的根对象。利用它可以创建两种COM对象:WSHShell和WSHNetWork。
wshNetWork又是什么?
WSHNetWork:可以使用此对象访问局域网环境下的共享资源,主要用于连接网络共享,网络打印机、访问局域网中用户的信息。
作用:在局域网中获取用户的一些资源信息。
WSHShell由谁创建得来?
Set WshShell = CreateObject(“WScript.Shell”)
或
Set WshShell = WScript.CreateObject(“WScript.Shell”)
扩展
CreateObject与WScript.CreateObject的区别:
- CreateObject是VBS的内置函数,属于语言的一部分;而WScript.CreateObject是windows脚本宿主(wscript.exe和cscript.exe)提供的WScript对象的方法,类似于批处理中内部命令和外部命令的关系。
如果只用第一个参数,则几乎是相同的;但如果要用到第二参数,就完全不同了。CreateObject的第二个参数用来通过DCOM在远程服务器上创建对象;而WScript.CreateObject的第二参数用来创建本地对象并响应事件。
如:
Dim IE
Set IE = WScript.CreateObject(“InternetExplorer.Application”,”IE_”)建议:尽量使用CreateObject,除非要响应事件。这样至少可移性好,速度稍快(几乎可以忽略不计),代码稍短
由于不擅长总结,所以如果有发现问题欢迎指正,谢谢。不喜勿喷呐!