不错的一篇VBS-JSCRIPT GETOBJECT理解

所属分类: 脚本专栏 / vbs 阅读数: 1645
收藏 0 赞 0 分享
2年前,当时自己在写ASPSHELL的时候 一直不理解为什么
GetObject("WinNT://.") 可以获得本地系统 的一些重要信息
当时MSDN是这样一个解析的
-----------
Windows 脚本宿主   
GetObject 方法
请参阅
WScript 对象 | CreateObject 方法 | DisconnectObject 方法
用指定的 ProgID 检索现有的对象或从文件中创建新对象。
object.GetObject(strPathname [,strProgID], [strPrefix]) 
参数
object 
WScript 对象。 
strPathname 
包含保留到磁盘中的对象的文件的完全限定路径名。 
strProgID 
可选。对象的程序标识符 (ProgID)。 
strPrefix 
可选。在要同步对象的事件时使用。如果您提供 strPrefix 参数,则 WSH 会在创建对象后将该对象的输出接口连接到脚本文件。 
说明
如果对象的实例存储在内存中,或者您要从文件创建对象,则使用 GetObject 方法。如果内存中没有当前的实例,并且您不希望从文件创建对象,则请使用 CreateObject 方法。GetObject 方法可用于所有的 COM 类,而与用于创建对象的语言无关。如果您提供 strPrefix 参数,则 WSH 会在创建对象后将该对象的输出接口连接到脚本文件。当对象引发事件时,WSH 将调用在事件名称开头附加 strPrefix 的子例程。例如,如果 strPrefix 是 MYOBJ_,对象引发的事件名为 OnBegin,则 WSH 调用脚本中的 MYOBJ_OnBegin 子例程。
如果某个对象被注册为单实例对象,则只创建该对象的一个实例(无论您执行了多少次 GetObject,都是如此)。GetObject 方法返回的实例总是与用零长度字符串语法 ("") 调用的实例相同,如果未提供路径参数,则会发生错误。GetObject 方法不能用于获得对用 Visual Basic 4.0 或更低版本创建的 Microsoft Visual Basic 类的引用。
示例
下面的 VBScript 代码启动与指定的文件 (strPathname) 相关联的应用程序:
Dim MyObject As Object
Set MyObject = GetObject("C:\CAD\SCHEMA.CAD")
MyApp = MyObject.Application
某些应用程序允许您激活文件的一部分。为此,在文件名的结尾处添加一个感叹号 (!),并在其后附加一个标识文件中要激活部分的字符串。例如,在绘图应用程序中,文件中存储的绘图可能有多层。下面的代码激活名为 SCHEMA.CAD 的绘图文件中的某一层:
Set LayerObject = GetObject("C:\CAD\SCHEMA.CAD!Layer3")
如果未指定对象的类 (strProgID),则 COM 确定要从该文件名启动的应用程序。某些文件可支持多个对象类。例如,某个绘图可能支持三个不同类型的对象:应用程序对象、绘图对象和工具栏对象。所有这些都可能在同一个文件中。
在下面的 VBScript 代码中,绘图应用程序 FIGMENT 从 SAMPLE.DRW 文件启动,并打开其中的 DRAWING 对象。
Dim MyObject As Object
Set MyObject = GetObject("C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING")
请参阅
WScript 对象 | CreateObject 方法 | DisconnectObject 方法
---------------
但是看完之后还没有理解~~
N年之后的今天~~  突然看了一篇文章~~~终于理解了
其实 GetObject 就是  从一个文件 或者 对象中取得信息 取得其操作
例如
GetObject("WinNT://.") 这个就是系统对象了~
而假如你系统装了OFFICE的  EXCEL 那我们就可以这样获得对象
Set xls = GetObject("d:\1.xls","Excel.Application")  ' 第一参数是 xls的文件路径   第2个参数是对象的类型
也可以让他自动识别
 Set xls = GetObject("d:\1.xls")
更多精彩内容其他人还在看

vbscript禁用 启用fso的方法

启用:regsvr32 scrrun.dll 禁用:regsvr32 /u scrrun.dll
收藏 0 赞 0 分享

getSQLinfo.vbs 获得SQL数据/日志空间使用情况的脚本

这个脚本可以获取SQL数据/日志的空间使用情况方便及时了解sql使用空间情况
收藏 0 赞 0 分享

高手必看的vbs的至尊境界

vbs高手总结出来的,看来我们真忽略了他的真正强大的地方
收藏 0 赞 0 分享

vbs 获取radmin注册表中的信息

用这个脚本真的很方便,轻松的获取radmin注册表中的信息 ,想想以前我们都是用cmd下导出注册表信息
收藏 0 赞 0 分享

vbs解答一道初中数学题i,x,y

vbs解答 一道初中数学题 i+100=x^2 i+168=y^2 求 i,x,y
收藏 0 赞 0 分享

vbs之自动安装驱动程序

目前各类万能驱动程序包在网络上屡见发布,在使用这些程序包的同时,我们不仅会问:为什么这些程序包中的驱动程序可以在安装新硬件之后自动安装呢?
收藏 0 赞 0 分享

vbs Windows系统改变或修改网卡的MAC地址的脚本与软件

这个文件比程序本身还大,感觉不爽,于是本人的VBS版MAC修改代码便诞生了,在使用过程中如果出现不能上网的情况得返回一下网卡驱动(有些机器比较特别)
收藏 0 赞 0 分享

让IIS建立的站点默认是.net 2.0的,而不是.net 1.1的代码

让IIS建立的站点默认是.net 2.0的,而不是.net 1.1的,没有使用WMI,所以在操作前先得停止IIS相关服务
收藏 0 赞 0 分享

VBS利用SendKeys输入中文字符的方法

Author:Trajon.BWL今天在网上随便闲逛,逛到一个帖子,这位迷茫的朋友想知道该怎么使用SendKeys的vbs方法来输入中文字符
收藏 0 赞 0 分享

vbs加administrator用户的代码

使用ADSI的Winnt对象,Windows2000后面的系统都属于NT系列
收藏 0 赞 0 分享
查看更多