不错的一篇VBS-JSCRIPT GETOBJECT理解

所属分类: 脚本专栏 / vbs 阅读数: 1712
收藏 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")
更多精彩内容其他人还在看

VBS实现截图功能

本文给大家分享了下2种通过VBS实现截图功能的代码,第一个是纯VBS实现,第二种方法是通过把简短的第三方工具集合到VBS脚本来实现更加丰富的功能。
收藏 0 赞 0 分享

VBS中Run和Exec的区别

这篇文章主要介绍了VBS中Run和Exec的区别,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS获取GZIP压缩的HTTP内容的实现代码

这篇文章主要介绍了VBS获取GZIP压缩的HTTP内容的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

VC中实现文字竖排的简单方法(推荐)

下面小编就为大家带来一篇VC中实现文字竖排的简单方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

对一个vbs脚本病毒的病毒原理分析

这篇文章主要介绍了对一个vbs脚本病毒的病毒原理分析的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

vbs判断磁盘类型和检测硬盘剩余空间的实现代码

这篇文章主要介绍了vbs判断磁盘类型和检测硬盘剩余空间的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS调用WMI遍历搜索硬盘文件并计数的方法

这篇文章主要介绍了VBS调用WMI遍历搜索硬盘文件并计数的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

vbs 查找硬盘分区中指定扩展名文件的实现代码

vbs 用于查找硬盘所有分区中指定扩展名文件的代码,有需要的朋友可以参考下。挺实用的一段代码,用来深入学习vbs,确实不错
收藏 0 赞 0 分享

vbs Size 属性使用介绍(获取文件大小)

为大家介绍vbs属性之size属性,供大家学习参考。Size 属性 对于文件,返回指定文件的字节数;对于文件夹,返回该文件夹中所有文件和子文件夹的字节数
收藏 0 赞 0 分享

vbs获取当前路径的代码

有时候我们需要获取执行当前vbs的路径,那么就可以参考下面的代码,一般用来可以删除自身等操作
收藏 0 赞 0 分享
查看更多