不錯的一篇VBS-JSCRIPT GETOBJECT理解
更新時間:2007年03月30日 00:00:00 作者:
2年前,當時自己在寫ASPSHELL的時候 一直不理解為什么
GetObject("WinNT://.") 可以獲得本地系統(tǒng) 的一些重要信息
當時MSDN是這樣一個解析的
-----------
Windows 腳本宿主
GetObject 方法
請參閱
WScript 對象 | CreateObject 方法 | DisconnectObject 方法
用指定的 ProgID 檢索現(xiàn)有的對象或從文件中創(chuàng)建新對象。
object.GetObject(strPathname [,strProgID], [strPrefix])
參數(shù)
object
WScript 對象。
strPathname
包含保留到磁盤中的對象的文件的完全限定路徑名。
strProgID
可選。對象的程序標識符 (ProgID)。
strPrefix
可選。在要同步對象的事件時使用。如果您提供 strPrefix 參數(shù),則 WSH 會在創(chuàng)建對象后將該對象的輸出接口連接到腳本文件。
說明
如果對象的實例存儲在內(nèi)存中,或者您要從文件創(chuàng)建對象,則使用 GetObject 方法。如果內(nèi)存中沒有當前的實例,并且您不希望從文件創(chuàng)建對象,則請使用 CreateObject 方法。GetObject 方法可用于所有的 COM 類,而與用于創(chuàng)建對象的語言無關(guān)。如果您提供 strPrefix 參數(shù),則 WSH 會在創(chuà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é)尾處添加一個感嘆號 (!),并在其后附加一個標識文件中要激活部分的字符串。例如,在繪圖應(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) 的一些重要信息
當時MSDN是這樣一個解析的
-----------
Windows 腳本宿主
GetObject 方法
請參閱
WScript 對象 | CreateObject 方法 | DisconnectObject 方法
用指定的 ProgID 檢索現(xiàn)有的對象或從文件中創(chuàng)建新對象。
object.GetObject(strPathname [,strProgID], [strPrefix])
參數(shù)
object
WScript 對象。
strPathname
包含保留到磁盤中的對象的文件的完全限定路徑名。
strProgID
可選。對象的程序標識符 (ProgID)。
strPrefix
可選。在要同步對象的事件時使用。如果您提供 strPrefix 參數(shù),則 WSH 會在創(chuàng)建對象后將該對象的輸出接口連接到腳本文件。
說明
如果對象的實例存儲在內(nèi)存中,或者您要從文件創(chuàng)建對象,則使用 GetObject 方法。如果內(nèi)存中沒有當前的實例,并且您不希望從文件創(chuàng)建對象,則請使用 CreateObject 方法。GetObject 方法可用于所有的 COM 類,而與用于創(chuàng)建對象的語言無關(guān)。如果您提供 strPrefix 參數(shù),則 WSH 會在創(chuà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é)尾處添加一個感嘆號 (!),并在其后附加一個標識文件中要激活部分的字符串。例如,在繪圖應(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實現(xiàn)的漢字轉(zhuǎn)拼音的函數(shù)
網(wǎng)上都是js轉(zhuǎn)為拼音的,這才我們看vbs版的漢字轉(zhuǎn)拼音的代碼2008-06-06利用VBS發(fā)送短信的實現(xiàn)代碼(通過飛信)
無意中看到百度 VBS 貼吧里一個標題為《無私的奉獻出我的用飛信免費發(fā)短信接口》的帖子。2011-08-08VBS教程:函數(shù)-StrReverse 函數(shù)
VBS教程:函數(shù)-StrReverse 函數(shù)...2006-11-11