快速业务通道

不错的一篇VBS-JSCRIPT GETOBJECT理解

作者 佚名 来源 ASP编程 浏览 发布时间 2013-07-09
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方法不能用于获得对用VisualBasic4.0或更低版本创建的MicrosoftVisualBasic类的引用。
示例
下面的VBScript代码启动与指定的文件(strPathname)相关联的应用程序:
DimMyObjectAsObject
SetMyObject=GetObject("C:\CAD\SCHEMA.CAD")
MyApp=MyObject.Application
某些应用程序允许您激活文件的一部分。为此,在文件名的结尾处添加一个感叹号(!),并在其后附加一个标识文件中要激活部分的字符串。例如,在绘图应用程序中,文件中存储的绘图可能有多层。下面的代码激活名为SCHEMA.CAD的绘图文件中的某一层:
SetLayerObject=GetObject("C:\CAD\SCHEMA.CAD!Layer3")
如果未指定对象的类(strProgID),则COM确定要从该文件名启动的应用程序。某些文件可支持多个对象类。例如,某个绘图可能支持三个不同类型的对象:应用程序对象、绘图对象和工具栏对象。所有这些都可能在同一个文件中。
在下面的VBScript代码中,绘图应用程序FIGMENT从SAMPLE.DRW文件启动,并打开其中的DRAWING对象。
DimMyObjectAsObject
SetMyObject=GetObject("C:\DRAWINGS\SAMPLE.DRW","FIGMENT.DRAWING")
请参阅
WScript对象|CreateObject方法|DisconnectObject方法
---------------
但是看完之后还没有理解~~
N年之后的今天~~突然看了一篇文章~~~终于理解了
其实GetObject就是从一个文件或者对象中取得信息取得其操作
例如
GetObject("WinNT://.")这个就是系统对象了~
而假如你系统装了OFFICE的EXCEL那我们就可以这样获得对象
Setxls=GetObject("d:\1.xls","Excel.Application")''第一参数是xls的文件路径第2个参数是对象的类型
也可以让他自动识别
Setxls=GetObject("d:\1.xls")

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号