不错的一篇VBS-JSCRIPT GETOBJECT理解

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

(0)

相关推荐

  • 不错的一篇VBS-JSCRIPT GETOBJECT理解

    2年前,当时自己在写ASPSHELL的时候 一直不理解为什么 GetObject("WinNT://.") 可以获得本地系统 的一些重要信息 当时MSDN是这样一个解析的 ----------- Windows 脚本宿主    GetObject 方法 请参阅 WScript 对象 | CreateObject 方法 | DisconnectObject 方法 用指定的 ProgID 检索现有的对象或从文件中创建新对象. object.GetObject(strPathname [,s

  • 不错的一篇网络管理员入门与基础技术文章第1/2页

    学习基础知识当好称职网络管理员    本着就近原则,毕业后本人在一个国企当上了一名网络管理员.企业不大,机器也就500~600台左右吧:面积不大,也就700~800平方左右吧:楼房不多,也就6~7幢吧.网管本来就是一个不错的职业.想想啊,只要开始把网络设计好.做好.考虑周到点,那后来您不就一个每天喝着茶.看看报,到月初就拿工资的主儿吗?但是,实际上我们并不是你们想象中的那么清闲啊--我们还是先来谈谈网管所需要具备的知识吧.   作为网络管理员,首先必须要知道网络到底是什么?其实网络就是一个系统,

  • vbscript基础篇 - vbs数组Array的定义与使用方法

    vbs数组定义和用法 Array 可返回一个包含数组的变量. 注释:数组中的第一个元素是零. 语法 Array(arglist) 参数 描述 arglist 必需的.数组中元素值的列表(由逗号分割). 实例 例子 1 dim a a=Array(5,10,15,20) document.write(a(3)) 输出: 20 例子 2 dim a a=Array(5,10,15,20) document.write(a(0)) 输出: 5 数组变量:有时需要向一个单一的变量赋于多个值,那么您可以创

  • 不错的一篇学习CGI脚本(脚本)

    学习CGI脚本(脚本)CGI 意思为 Common Gateway Interface, 一种基于浏览器的输入.在Web服务器上运行的程序方法. CGI脚本 使你的浏览器与用户能交互,为了在数据库中寻找一个名词, 提供你写入的评论,或者从一个表单中选择几个条目并且能得到一个明确的回答. 如果你曾经遇到过在web上填表或进行搜索, 你就是用的CGI脚本. 你那时也许没有意识到,因为大部分工作是在服务器上运行的,你看到的只是结果. 作为一个网页设计者, 你创建客户端的 CGI脚本, 服务器端的程序用

  • 不错的一篇关于javascript-prototype继承

    1.最基本的用法 把ClassA的一个实例赋值给ClassB, ClassB就继承了ClassA的所有属性. 代码入下: function ClassA() { this.a='a'; } function ClassB() { this.b='b'; } ClassB.prototype=new ClassA(); var objB=new ClassB(); for(var p in objB)document.write(p+" "); [Ctrl+A 全选 注:如需引入外部Js

  • 不错的一篇玩转arp的文章

    以下讨论的机子有 一个要攻击的机子:10.5.4.178  硬件地址:52:54:4C:98:EE:2F 我的机子: :10.5.3.69  硬件地址:52:54:4C:98:ED:C5 网关: 10.5.0.3  硬件地址:00:90:26:3D:0C:F3 一台交换机另一端口的机子:10.5.3.3 硬件地址:52:54:4C:98:ED:F7 一:用ARP破WINDOWS的屏保 原理:利用IP冲突的级别比屏保高,当有冲突时,就会 跳出屏保. 关键:ARP包的数量适当. [root@sztc

  • 不错的一篇用记事本去除掉迅雷5广告方法

    原来用过Web迅雷,觉得太占浏览器资源 于是想是不是可以用迅雷5替代Web迅雷 下载下来 还真可以 但 顶部的广告条太烦人了 google一下 发现去除方法如下: 引用  去C:\Program Files\Thunder Network\Thunder\Program 找到gui.cfg 用记事本打开 [URL] ADServer=改成你自己喜欢的网址 TimeSpan=300 PartnerNavigateTimers=10 PartnerTimeSpan=300 PVPort=3076 P

  • 不错的一篇3389使用相关技巧

    3389肉鸡快捷键 CTRL+ALT+END 把"任务管理器"抓出来   CTRL+ALT+BREAK这个就是切换全屏显示.  CTRL+ALT+END 打开"Windows 安全"对话框. ALT+PAGE UP 从左向右在程序之间切换. ALT+PAGE DOWN 从右向左在程序之间切换. ALT+INSERT 按启动顺序来回切换程序. ALT+HOME 显示"开始"菜单. CTRL+ALT+BREAK 在窗口(如果适用)和全屏显示之间切换客

  • 不错的一篇面向对象的PHP开发模式(简写版)

    我看到有人在批判PHP,什么这地方不好用,那地方不好用的.其实严格地说起来,没有一门语言好用,也没有一门语言有一个严格的标准,凡事都有一个发展的过程,我们总不能等这些标准呀什么的都很完善了再用吧?我觉得不管用什么语言,写程序都要靠自己,一个程序员要有好的风格,思路等等.最近我在整理一些资料,现在发出一些,希望大家多提意见,多多扶持啊哈 ====================================== 面向对象的PHP开发模式(待完善中...) ====================

  • vbscript基础篇 - vbs变量定义与使用方法

    一.申明变量 ① 显式声明:Dim.Public.Private语句进行声明 ② 隐式声明:不声明直接使用 ③ 强制声明:Option Explicit语句强制显式声明所有变量 dim name,age name="Ethon" age=27 msgbox name & age 'name="Ethon" : age=27 对多个变量赋值 注意:在VBScript中对变量.方法.函数和对象的引用是不区分大小写 '隐式申明 hello="ABC123

随机推荐