声明:本人新学按精,对于程序中经常出现的Obj=Creatobject("wscript.shell")有各种疑问,而本论坛并无关于该object的详细介绍。故baidu之。在此对资料的各位原作者表示感谢。以下是自己搜索过程中得到的一些信息与理解,也想让诸位看看我得到的信息正确与否。故发帖共享。如果有哪里出现错误,请各位不吝指正。

Wscript.shell 

Wscript.shell是Wshshell的ProID

Wshshell是一个对象,存放在windows系统中的wshom.ocx文件中,可供在windows上运行的程序调用。他可对windows的外壳程序进行访问。

对象(object)是一些相关变量和方法的软件集,或者说库。当你需要这个对象里面的变量,方法,功能的时候,你就可以使用相关语言(代码)来调用。

ProID是程序员给某个CLSID指定的一个易记名字。组成如<Program>.<Componet>.<version>

CLSID是windows系统对于不同的应用程序,文件类型,OLE对象,特殊文件夹以及各种系统组件分配的一个唯一表示它的代码。为Class ID的缩写。

所以:代码  Set Obj = createobject("WScript.Shell") 得到对象Obj,即Wshshell,是一个对象。 

我们首先了解下对象Wscript : Windows Script Host object model (注意,前三个缩写为Wsh )

简单的说,Wscript就是Windows脚本宿主对象模型(WSHOM) , 而Wscript就是windows内对象存放的一个根对象(官方语言:Wscript是一个基于windows系统脚本宿主对象的根对象), 利用它可以创造两种COM对象:WshShell 与 WshNetwork .

注释1:(八卦一下,不知道现在的诸如WshEnvironment, WshCollection, WshExec等对象是不是也存放在该根对象下,依照我的理解是的,因为他们都有前缀Wsh,但他们应该不是COM组件,故不再上面列出,应该是这样吧。另需注意Wsh是Wscript对象内置的变量,故在你载入WshShell后,在没有声明的情况下不能使用Wsh作为变量,否则会出现错误)

注释2:(COM对象即the Component Object Model,组件对象模型。COM组件是遵行COM规范编写,以Win32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行二进制代码,能够满足组建对框架的所有需求。简单理解COM对象就是可执行二进制代码存放的根对象)(貌似我搞不懂,如果真是这样,他们为什么非要用model模型这个单词呢,为什么不用Root根或family集合这类单词呢)

其中WshNetwork对象主要用于访问局域网环境下的资源共享,我们这里就不阐述了。
对于WshShell对象,其中的Shell是外壳的意思,应该是此对象能够调用windows的外壳程序,故取名shell,个人觉得那么Wscript.shell这个ProID堪称完美。

因代码中都用另一个对象等价于WshShell,以下用Ws替代WshShell . 

功能
Ws能够实现模拟键盘,向激活窗口发送键值实现选择,谈出定时对话框,读写注册表,启动程序,创建快捷方式等等功能。

方法
AppActivate (按键精灵不支持,属vbs)             判断窗口是否被激活
CreateShortcut                                           创建并返回WshShortcut对象
ExpandEnvironmentStrings                            扩展Progress环境变量并返回结果字符串
Popup                                                        显示包含指定消息的消息窗口
RegDelete                                                  删除注册表某目录
RegRead                                                    读取注册表某目录
RegWrite                                                   编辑注册表某目录
Run                                                           启动程序
SendKeys                                                   发送字符串或一些特殊的键盘字符

Ws.AppAcitve  窗口激活经常在自动化测试中需要用到,特别是需要测试对象出现后再做的激活,往往需要一定的等待时间。如果此时使用循环结构进行判断窗口是否激活,可以节省时间。Ws提供了一个非常有用的功能(即方法,不知一个人觉得功能比方法更贴切吧)
语法:   Ws.AppActive(title)
参数title:为需要激活窗口的titile属性值,也就是标题或者ProcessID
返回值:布尔值。如果激活了返回True,未激活返回False

Ws.Popup 在弹窗内显示文本信息,即实现定时提示框的作用。
语法:i=Ws.Popup("text" ,"int","title","nType")
参数:text是弹窗文本内容,int是弹窗最长显示时间秒,title弹窗标题,nType是是弹窗显示按钮和图标类型的数值
返回值:用户单击以解除弹窗的按钮值
例程:YN=Ws.Popup("你去过香格里拉吗“,“20”,“经历”,"2")

Ws.Run  启动windows自带的软件。如记事本  
例程:Ws.Run  "Notepad"
功能:运行记事本

Ws.SendKeys 主要用在对象无法识别时,又要在此对象内输入字符串,即可用此法。又或需要用快捷键时,也可用此法。
语法:Ws.sendkeys  string[,wait]
参数: string为指定要发送的字符串或特殊字符。wait可选,指定等待的方式。
例程:Ws.sendkeys "我去过才怪”

属性
Ws.CurrentDirectory    返回或改变该当前目录
Ws.Environment         返回WshEnvironment对象
Ws.SpecialFolders        使用WshSpecialFolders对象对windows shell文件夹进行访问。

其他关于本对象的方法及属性介绍,本人等另寻时间更新,谢谢大家!

转载于:https://www.cnblogs.com/duguerren/archive/2013/04/01/2993695.html

WndObj001Wscript.Shell详解相关推荐

  1. 华为linux基础入门,Linux入门篇 —— Shell详解

    Shell 详解 Shell 简介 Linux精髓在于命令行操作 Shell是一种特殊的程序 是内核与用户的一种接口 Shell命令解释器 Shell一种解释性的语言(内部命令/外部命令) 内部命令: ...

  2. [Shell详解-2]:变量、默认变量、数组

    Shell语法详解目录 文章目录 1. 变量 1.1 变量的定义 1.2 变量的使用 1.3 只读变量 1.4 删除变量 1.5 变量类型 1.6 字符串.单双引号的区别 2. 默认变量(关键词) 3 ...

  3. linux lspci信息 详解_Linux引导之EFI SHELL详解

    上一篇说,我觉得许多EFI SHELL的文章,总是没讲透.所以我想将EFI SHELL掀个底儿朝天. 磁盘上的EFI系统分区,即 EFI system partition,简写为 ESP. UEFI类 ...

  4. HBase的hbase shell 详解

    进入hbase命令行 ./hbase shell 显示hbase中的表 list 创建user表,里面包含info,date两个列族 create 'user','info','data' creat ...

  5. Wscript.shell 详解

     Wscript.shell Wscript.shell是Wshshell的ProID Wshshell 是一个对象,存放在windows系统中的wshom.ocx文件 中,可供在windows上 ...

  6. C Shell 详解

    C shell 也是 shell 的 一种,以下为一个简单 cshell脚本; #!/bin/csh //开头解释文件为 csh, 必须写 set a="helloworld" / ...

  7. HOOPS Shell详解

    Shells   Shell是一个多边形的集合,形成一个三维物体.如果Shell是封闭的,里面没有孔,那么Shell就把三维空间分成两部分,称为Shell的内部和外部.一个Shell由一个或多个多边形 ...

  8. 解释linux中的三种重定向,Linux重定向及反弹shell详解

    这里说Linux重定向的原因主要还是为了详细了解一下Linux中的反弹shell 目录 0x01 文件描述符 0x02 重定向 0x03 反弹shell 0x04 交互重定向 0x05 命令变形 0x ...

  9. Shell语法详解专栏目录

    Shell语法详解专栏 1. [Shell详解-1]:概论.注释 2. [Shell详解-2]:变量.默认变量.数组 3. [Shell详解-3]:expr命令.read命令 4. [Shell详解- ...

最新文章

  1. 处理 Exception 的几种实践,很优雅,被很多团队采纳!
  2. linux下c中嵌套正则表达式
  3. js dom 操作实例图解
  4. User profile synchronization service starting issues 用户配置文件同步服务启动问题
  5. c++ setstate() 和 clear() 函数
  6. NIO和BIO如何影响应用程序的设计-设置处理线程数
  7. scala编程第16章学习笔记(1)
  8. java八进制转十六进制_java-十进制、八进制、十六进制数互相转换
  9. Photoshop 通道
  10. 4月9日51CTO.com编辑部训练
  11. EvolvingNetLib,嗯,一个网络请求库而已
  12. 18.go 日志监控系统
  13. 正向传播、反向传播和计算图
  14. SRMD:Learning a Single Convolutional Super-Resolution Network for Multiple Degradations
  15. increase-memory-limit 解决 项目运行内存不足(JS stack trace)
  16. 站群php自动地图,Discuz自动采集-DZ站群系统自动更新-Discuz站群管理系统
  17. Js坐标转换器-百度地图坐标转腾讯地图坐标
  18. mysql_opt_reconnect mysql_ping_蛋疼的mysql_ping()以及MYSQL_OPT_RECONNECT
  19. html作业介绍家乡,dreamweaver网页大作业 我的家乡
  20. vuex中的actions

热门文章

  1. 【干货】看过上千份简历后的经验总结
  2. CS61A学习笔记(作业篇)
  3. 在Unity中导入fbx格式文件
  4. bigemap如何转换成北京54坐标系?
  5. 《炬丰科技-半导体工艺》单晶圆清洁工艺
  6. 门户网站几个名字服务器,《风云》10个大区20组服务器名大曝光
  7. http代理动态转发,什么是动态转发代理ip?
  8. 鸿蒙os手机版,魅族霸气官宣加入!但魅族手机依旧无缘鸿蒙OS:鸿蒙新品让人意外...
  9. 中小企业快成长现倪端 微软打造软硬件一体解决方案
  10. 个性化是web2.0的核心前途