不錯(cuò)的一篇VBS-JSCRIPT GETOBJECT理解
更新時(shí)間:2007年03月30日 00:00:00 作者:
2年前,當(dāng)時(shí)自己在寫ASPSHELL的時(shí)候 一直不理解為什么
GetObject("WinNT://.") 可以獲得本地系統(tǒng) 的一些重要信息
當(dāng)時(shí)MSDN是這樣一個(gè)解析的
-----------
Windows 腳本宿主
GetObject 方法
請(qǐng)參閱
WScript 對(duì)象 | CreateObject 方法 | DisconnectObject 方法
用指定的 ProgID 檢索現(xiàn)有的對(duì)象或從文件中創(chuàng)建新對(duì)象。
object.GetObject(strPathname [,strProgID], [strPrefix])
參數(shù)
object
WScript 對(duì)象。
strPathname
包含保留到磁盤中的對(duì)象的文件的完全限定路徑名。
strProgID
可選。對(duì)象的程序標(biāo)識(shí)符 (ProgID)。
strPrefix
可選。在要同步對(duì)象的事件時(shí)使用。如果您提供 strPrefix 參數(shù),則 WSH 會(huì)在創(chuàng)建對(duì)象后將該對(duì)象的輸出接口連接到腳本文件。
說(shuō)明
如果對(duì)象的實(shí)例存儲(chǔ)在內(nèi)存中,或者您要從文件創(chuàng)建對(duì)象,則使用 GetObject 方法。如果內(nèi)存中沒(méi)有當(dāng)前的實(shí)例,并且您不希望從文件創(chuàng)建對(duì)象,則請(qǐng)使用 CreateObject 方法。GetObject 方法可用于所有的 COM 類,而與用于創(chuàng)建對(duì)象的語(yǔ)言無(wú)關(guān)。如果您提供 strPrefix 參數(shù),則 WSH 會(huì)在創(chuàng)建對(duì)象后將該對(duì)象的輸出接口連接到腳本文件。當(dāng)對(duì)象引發(fā)事件時(shí),WSH 將調(diào)用在事件名稱開頭附加 strPrefix 的子例程。例如,如果 strPrefix 是 MYOBJ_,對(duì)象引發(fā)的事件名為 OnBegin,則 WSH 調(diào)用腳本中的 MYOBJ_OnBegin 子例程。
如果某個(gè)對(duì)象被注冊(cè)為單實(shí)例對(duì)象,則只創(chuàng)建該對(duì)象的一個(gè)實(shí)例(無(wú)論您執(zhí)行了多少次 GetObject,都是如此)。GetObject 方法返回的實(shí)例總是與用零長(zhǎng)度字符串語(yǔ)法 ("") 調(diào)用的實(shí)例相同,如果未提供路徑參數(shù),則會(huì)發(fā)生錯(cuò)誤。GetObject 方法不能用于獲得對(duì)用 Visual Basic 4.0 或更低版本創(chuàng)建的 Microsoft Visual Basic 類的引用。
示例
下面的 VBScript 代碼啟動(dòng)與指定的文件 (strPathname) 相關(guān)聯(lián)的應(yīng)用程序:
Dim MyObject As Object
Set MyObject = GetObject("C:\CAD\SCHEMA.CAD")
MyApp = MyObject.Application
某些應(yīng)用程序允許您激活文件的一部分。為此,在文件名的結(jié)尾處添加一個(gè)感嘆號(hào) (!),并在其后附加一個(gè)標(biāo)識(shí)文件中要激活部分的字符串。例如,在繪圖應(yīng)用程序中,文件中存儲(chǔ)的繪圖可能有多層。下面的代碼激活名為 SCHEMA.CAD 的繪圖文件中的某一層:
Set LayerObject = GetObject("C:\CAD\SCHEMA.CAD!Layer3")
如果未指定對(duì)象的類 (strProgID),則 COM 確定要從該文件名啟動(dòng)的應(yīng)用程序。某些文件可支持多個(gè)對(duì)象類。例如,某個(gè)繪圖可能支持三個(gè)不同類型的對(duì)象:應(yīng)用程序?qū)ο?、繪圖對(duì)象和工具欄對(duì)象。所有這些都可能在同一個(gè)文件中。
在下面的 VBScript 代碼中,繪圖應(yīng)用程序 FIGMENT 從 SAMPLE.DRW 文件啟動(dòng),并打開其中的 DRAWING 對(duì)象。
Dim MyObject As Object
Set MyObject = GetObject("C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING")
請(qǐng)參閱
WScript 對(duì)象 | CreateObject 方法 | DisconnectObject 方法
---------------
但是看完之后還沒(méi)有理解~~
N年之后的今天~~ 突然看了一篇文章~~~終于理解了
其實(shí) GetObject 就是 從一個(gè)文件 或者 對(duì)象中取得信息 取得其操作
例如
GetObject("WinNT://.") 這個(gè)就是系統(tǒng)對(duì)象了~
而假如你系統(tǒng)裝了OFFICE的 EXCEL 那我們就可以這樣獲得對(duì)象
Set xls = GetObject("d:\1.xls","Excel.Application") ' 第一參數(shù)是 xls的文件路徑 第2個(gè)參數(shù)是對(duì)象的類型
也可以讓他自動(dòng)識(shí)別
Set xls = GetObject("d:\1.xls")
GetObject("WinNT://.") 可以獲得本地系統(tǒng) 的一些重要信息
當(dāng)時(shí)MSDN是這樣一個(gè)解析的
-----------
Windows 腳本宿主
GetObject 方法
請(qǐng)參閱
WScript 對(duì)象 | CreateObject 方法 | DisconnectObject 方法
用指定的 ProgID 檢索現(xiàn)有的對(duì)象或從文件中創(chuàng)建新對(duì)象。
object.GetObject(strPathname [,strProgID], [strPrefix])
參數(shù)
object
WScript 對(duì)象。
strPathname
包含保留到磁盤中的對(duì)象的文件的完全限定路徑名。
strProgID
可選。對(duì)象的程序標(biāo)識(shí)符 (ProgID)。
strPrefix
可選。在要同步對(duì)象的事件時(shí)使用。如果您提供 strPrefix 參數(shù),則 WSH 會(huì)在創(chuàng)建對(duì)象后將該對(duì)象的輸出接口連接到腳本文件。
說(shuō)明
如果對(duì)象的實(shí)例存儲(chǔ)在內(nèi)存中,或者您要從文件創(chuàng)建對(duì)象,則使用 GetObject 方法。如果內(nèi)存中沒(méi)有當(dāng)前的實(shí)例,并且您不希望從文件創(chuàng)建對(duì)象,則請(qǐng)使用 CreateObject 方法。GetObject 方法可用于所有的 COM 類,而與用于創(chuàng)建對(duì)象的語(yǔ)言無(wú)關(guān)。如果您提供 strPrefix 參數(shù),則 WSH 會(huì)在創(chuàng)建對(duì)象后將該對(duì)象的輸出接口連接到腳本文件。當(dāng)對(duì)象引發(fā)事件時(shí),WSH 將調(diào)用在事件名稱開頭附加 strPrefix 的子例程。例如,如果 strPrefix 是 MYOBJ_,對(duì)象引發(fā)的事件名為 OnBegin,則 WSH 調(diào)用腳本中的 MYOBJ_OnBegin 子例程。
如果某個(gè)對(duì)象被注冊(cè)為單實(shí)例對(duì)象,則只創(chuàng)建該對(duì)象的一個(gè)實(shí)例(無(wú)論您執(zhí)行了多少次 GetObject,都是如此)。GetObject 方法返回的實(shí)例總是與用零長(zhǎng)度字符串語(yǔ)法 ("") 調(diào)用的實(shí)例相同,如果未提供路徑參數(shù),則會(huì)發(fā)生錯(cuò)誤。GetObject 方法不能用于獲得對(duì)用 Visual Basic 4.0 或更低版本創(chuàng)建的 Microsoft Visual Basic 類的引用。
示例
下面的 VBScript 代碼啟動(dòng)與指定的文件 (strPathname) 相關(guān)聯(lián)的應(yīng)用程序:
Dim MyObject As Object
Set MyObject = GetObject("C:\CAD\SCHEMA.CAD")
MyApp = MyObject.Application
某些應(yīng)用程序允許您激活文件的一部分。為此,在文件名的結(jié)尾處添加一個(gè)感嘆號(hào) (!),并在其后附加一個(gè)標(biāo)識(shí)文件中要激活部分的字符串。例如,在繪圖應(yīng)用程序中,文件中存儲(chǔ)的繪圖可能有多層。下面的代碼激活名為 SCHEMA.CAD 的繪圖文件中的某一層:
Set LayerObject = GetObject("C:\CAD\SCHEMA.CAD!Layer3")
如果未指定對(duì)象的類 (strProgID),則 COM 確定要從該文件名啟動(dòng)的應(yīng)用程序。某些文件可支持多個(gè)對(duì)象類。例如,某個(gè)繪圖可能支持三個(gè)不同類型的對(duì)象:應(yīng)用程序?qū)ο?、繪圖對(duì)象和工具欄對(duì)象。所有這些都可能在同一個(gè)文件中。
在下面的 VBScript 代碼中,繪圖應(yīng)用程序 FIGMENT 從 SAMPLE.DRW 文件啟動(dòng),并打開其中的 DRAWING 對(duì)象。
Dim MyObject As Object
Set MyObject = GetObject("C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING")
請(qǐng)參閱
WScript 對(duì)象 | CreateObject 方法 | DisconnectObject 方法
---------------
但是看完之后還沒(méi)有理解~~
N年之后的今天~~ 突然看了一篇文章~~~終于理解了
其實(shí) GetObject 就是 從一個(gè)文件 或者 對(duì)象中取得信息 取得其操作
例如
GetObject("WinNT://.") 這個(gè)就是系統(tǒng)對(duì)象了~
而假如你系統(tǒng)裝了OFFICE的 EXCEL 那我們就可以這樣獲得對(duì)象
Set xls = GetObject("d:\1.xls","Excel.Application") ' 第一參數(shù)是 xls的文件路徑 第2個(gè)參數(shù)是對(duì)象的類型
也可以讓他自動(dòng)識(shí)別
Set xls = GetObject("d:\1.xls")
相關(guān)文章
vbs實(shí)現(xiàn)的漢字轉(zhuǎn)拼音的函數(shù)
網(wǎng)上都是js轉(zhuǎn)為拼音的,這才我們看vbs版的漢字轉(zhuǎn)拼音的代碼2008-06-06利用VBS發(fā)送短信的實(shí)現(xiàn)代碼(通過(guò)飛信)
無(wú)意中看到百度 VBS 貼吧里一個(gè)標(biāo)題為《無(wú)私的奉獻(xiàn)出我的用飛信免費(fèi)發(fā)短信接口》的帖子。2011-08-08VBS教程:函數(shù)-StrReverse 函數(shù)
VBS教程:函數(shù)-StrReverse 函數(shù)...2006-11-11