不错的一篇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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于不错的一篇VBS-JSCRIPT GETOBJECT理解的所有评论