不錯的一篇VBS-JSCRIPT GETOBJECT理解
更新時間:2007年03月30日 00:00:00 作者:
2年前,當(dāng)時自己在寫ASPSHELL的時候 一直不理解為什么
GetObject("WinNT://.") 可以獲得本地系統(tǒng) 的一些重要信息
當(dāng)時MSDN是這樣一個解析的
-----------
Windows 腳本宿主
GetObject 方法
請參閱
WScript 對象 | CreateObject 方法 | DisconnectObject 方法
用指定的 ProgID 檢索現(xiàn)有的對象或從文件中創(chuàng)建新對象。
object.GetObject(strPathname [,strProgID], [strPrefix])
參數(shù)
object
WScript 對象。
strPathname
包含保留到磁盤中的對象的文件的完全限定路徑名。
strProgID
可選。對象的程序標(biāo)識符 (ProgID)。
strPrefix
可選。在要同步對象的事件時使用。如果您提供 strPrefix 參數(shù),則 WSH 會在創(chuàng)建對象后將該對象的輸出接口連接到腳本文件。
說明
如果對象的實例存儲在內(nèi)存中,或者您要從文件創(chuàng)建對象,則使用 GetObject 方法。如果內(nèi)存中沒有當(dāng)前的實例,并且您不希望從文件創(chuàng)建對象,則請使用 CreateObject 方法。GetObject 方法可用于所有的 COM 類,而與用于創(chuàng)建對象的語言無關(guān)。如果您提供 strPrefix 參數(shù),則 WSH 會在創(chuàng)建對象后將該對象的輸出接口連接到腳本文件。當(dāng)對象引發(fā)事件時,WSH 將調(diào)用在事件名稱開頭附加 strPrefix 的子例程。例如,如果 strPrefix 是 MYOBJ_,對象引發(fā)的事件名為 OnBegin,則 WSH 調(diào)用腳本中的 MYOBJ_OnBegin 子例程。
如果某個對象被注冊為單實例對象,則只創(chuàng)建該對象的一個實例(無論您執(zhí)行了多少次 GetObject,都是如此)。GetObject 方法返回的實例總是與用零長度字符串語法 ("") 調(diào)用的實例相同,如果未提供路徑參數(shù),則會發(fā)生錯誤。GetObject 方法不能用于獲得對用 Visual Basic 4.0 或更低版本創(chuàng)建的 Microsoft Visual Basic 類的引用。
示例
下面的 VBScript 代碼啟動與指定的文件 (strPathname) 相關(guān)聯(lián)的應(yīng)用程序:
Dim MyObject As Object
Set MyObject = GetObject("C:\CAD\SCHEMA.CAD")
MyApp = MyObject.Application
某些應(yīng)用程序允許您激活文件的一部分。為此,在文件名的結(jié)尾處添加一個感嘆號 (!),并在其后附加一個標(biāo)識文件中要激活部分的字符串。例如,在繪圖應(yīng)用程序中,文件中存儲的繪圖可能有多層。下面的代碼激活名為 SCHEMA.CAD 的繪圖文件中的某一層:
Set LayerObject = GetObject("C:\CAD\SCHEMA.CAD!Layer3")
如果未指定對象的類 (strProgID),則 COM 確定要從該文件名啟動的應(yīng)用程序。某些文件可支持多個對象類。例如,某個繪圖可能支持三個不同類型的對象:應(yīng)用程序?qū)ο?、繪圖對象和工具欄對象。所有這些都可能在同一個文件中。
在下面的 VBScript 代碼中,繪圖應(yīng)用程序 FIGMENT 從 SAMPLE.DRW 文件啟動,并打開其中的 DRAWING 對象。
Dim MyObject As Object
Set MyObject = GetObject("C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING")
請參閱
WScript 對象 | CreateObject 方法 | DisconnectObject 方法
---------------
但是看完之后還沒有理解~~
N年之后的今天~~ 突然看了一篇文章~~~終于理解了
其實 GetObject 就是 從一個文件 或者 對象中取得信息 取得其操作
例如
GetObject("WinNT://.") 這個就是系統(tǒng)對象了~
而假如你系統(tǒng)裝了OFFICE的 EXCEL 那我們就可以這樣獲得對象
Set xls = GetObject("d:\1.xls","Excel.Application") ' 第一參數(shù)是 xls的文件路徑 第2個參數(shù)是對象的類型
也可以讓他自動識別
Set xls = GetObject("d:\1.xls")
GetObject("WinNT://.") 可以獲得本地系統(tǒng) 的一些重要信息
當(dāng)時MSDN是這樣一個解析的
-----------
Windows 腳本宿主
GetObject 方法
請參閱
WScript 對象 | CreateObject 方法 | DisconnectObject 方法
用指定的 ProgID 檢索現(xiàn)有的對象或從文件中創(chuàng)建新對象。
object.GetObject(strPathname [,strProgID], [strPrefix])
參數(shù)
object
WScript 對象。
strPathname
包含保留到磁盤中的對象的文件的完全限定路徑名。
strProgID
可選。對象的程序標(biāo)識符 (ProgID)。
strPrefix
可選。在要同步對象的事件時使用。如果您提供 strPrefix 參數(shù),則 WSH 會在創(chuàng)建對象后將該對象的輸出接口連接到腳本文件。
說明
如果對象的實例存儲在內(nèi)存中,或者您要從文件創(chuàng)建對象,則使用 GetObject 方法。如果內(nèi)存中沒有當(dāng)前的實例,并且您不希望從文件創(chuàng)建對象,則請使用 CreateObject 方法。GetObject 方法可用于所有的 COM 類,而與用于創(chuàng)建對象的語言無關(guān)。如果您提供 strPrefix 參數(shù),則 WSH 會在創(chuàng)建對象后將該對象的輸出接口連接到腳本文件。當(dāng)對象引發(fā)事件時,WSH 將調(diào)用在事件名稱開頭附加 strPrefix 的子例程。例如,如果 strPrefix 是 MYOBJ_,對象引發(fā)的事件名為 OnBegin,則 WSH 調(diào)用腳本中的 MYOBJ_OnBegin 子例程。
如果某個對象被注冊為單實例對象,則只創(chuàng)建該對象的一個實例(無論您執(zhí)行了多少次 GetObject,都是如此)。GetObject 方法返回的實例總是與用零長度字符串語法 ("") 調(diào)用的實例相同,如果未提供路徑參數(shù),則會發(fā)生錯誤。GetObject 方法不能用于獲得對用 Visual Basic 4.0 或更低版本創(chuàng)建的 Microsoft Visual Basic 類的引用。
示例
下面的 VBScript 代碼啟動與指定的文件 (strPathname) 相關(guān)聯(lián)的應(yīng)用程序:
Dim MyObject As Object
Set MyObject = GetObject("C:\CAD\SCHEMA.CAD")
MyApp = MyObject.Application
某些應(yīng)用程序允許您激活文件的一部分。為此,在文件名的結(jié)尾處添加一個感嘆號 (!),并在其后附加一個標(biāo)識文件中要激活部分的字符串。例如,在繪圖應(yīng)用程序中,文件中存儲的繪圖可能有多層。下面的代碼激活名為 SCHEMA.CAD 的繪圖文件中的某一層:
Set LayerObject = GetObject("C:\CAD\SCHEMA.CAD!Layer3")
如果未指定對象的類 (strProgID),則 COM 確定要從該文件名啟動的應(yīng)用程序。某些文件可支持多個對象類。例如,某個繪圖可能支持三個不同類型的對象:應(yīng)用程序?qū)ο?、繪圖對象和工具欄對象。所有這些都可能在同一個文件中。
在下面的 VBScript 代碼中,繪圖應(yīng)用程序 FIGMENT 從 SAMPLE.DRW 文件啟動,并打開其中的 DRAWING 對象。
Dim MyObject As Object
Set MyObject = GetObject("C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING")
請參閱
WScript 對象 | CreateObject 方法 | DisconnectObject 方法
---------------
但是看完之后還沒有理解~~
N年之后的今天~~ 突然看了一篇文章~~~終于理解了
其實 GetObject 就是 從一個文件 或者 對象中取得信息 取得其操作
例如
GetObject("WinNT://.") 這個就是系統(tǒng)對象了~
而假如你系統(tǒng)裝了OFFICE的 EXCEL 那我們就可以這樣獲得對象
Set xls = GetObject("d:\1.xls","Excel.Application") ' 第一參數(shù)是 xls的文件路徑 第2個參數(shù)是對象的類型
也可以讓他自動識別
Set xls = GetObject("d:\1.xls")
相關(guān)文章
VBS中轉(zhuǎn)換二進制數(shù)據(jù)為字符串常用辦法
VBS中轉(zhuǎn)換二進制數(shù)據(jù)為字符串常用辦法...2007-03-03
VBS基礎(chǔ)篇 - vbscript TextStream對象
TextStream對象是用于訪問文本文件的對象,它是FileSystemObject一個獨立的附屬對象,但在使用TextStream對象時,我們?nèi)砸柚鶩ileSystemObject 對象或其附屬對象來創(chuàng)建一個 TextStream 對象并訪問磁盤文件的內(nèi)容,需要的朋友可以參考下2018-06-06
使用 Iisftpdr.vbs 刪除FTP虛擬目錄(支持本地與遠程)
這篇文章主要介紹了如何通過 iisftpdr.vbs 刪除本地或遠程計算機上的 FTP 虛擬目錄的方法,需要的朋友可以參考下2014-07-07

