当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > 不错的一篇VBS-JSCRIPT GETOBJECT理解

VBScript
Dynamic Activity Window动态活动窗口vbs
可以查询系统用户名sid的vbs
VBScript使用ADSI为IIS批量添加屏蔽或允许访问的IP
WMI IE代理 切换或改变(Use WMI Change IE Proxy)
SendKeys clip.exe 发送中文的代码
利用计划任务和VBS脚本实现自动WEB共享文件夹里的文件
XorEncode的vbs实现代码
利用wsc制作的一个asp后门
ie7 0day当中的shellcode的escape+xor21加密
VBScript 作用 简单说明
IE浏览器增加“复制图像地址”的右键菜单的vbs代码
vbscript LoadPicture函数使用方法与漏洞利用
可自删除 开启3389创建用户粘滞键后门的vbs
CMD和vbs修改 IP地址及DNS的实现代码
vbScript on error resume next容错使用心得
vbscript include的办法实现代码
vbscript 读取xml格式的配置文件
vbScript中WScript.Shell对象的run和exec使用心得分享
VBS 路由重启脚本
vbscript logparser的ISA2004 Web流量报告

VBScript 中的 不错的一篇VBS-JSCRIPT GETOBJECT理解


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 73 ::
收藏到网摘: n/a

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")