不錯(cuò)的一篇VBS-JSCRIPT GETOBJECT理解
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ì)象的輸出接口連接到腳本文件。
說明
如果對(duì)象的實(shí)例存儲(chǔ)在內(nèi)存中,或者您要從文件創(chuàng)建對(duì)象,則使用 GetObject 方法。如果內(nèi)存中沒有當(dāng)前的實(shí)例,并且您不希望從文件創(chuàng)建對(duì)象,則請(qǐng)使用 CreateObject 方法。GetObject 方法可用于所有的 COM 類,而與用于創(chuàng)建對(duì)象的語言無關(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í)例(無論您執(zhí)行了多少次 GetObject,都是如此)。GetObject 方法返回的實(shí)例總是與用零長(zhǎng)度字符串語法 ("") 調(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 方法
---------------
但是看完之后還沒有理解~~
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")
上一篇:用vbs判斷一個(gè)日期是否在指定的時(shí)段內(nèi)
欄 目:vb
下一篇:用vbs返回 Internet Explorer 的下載控件和 Applet 的列表
本文標(biāo)題:不錯(cuò)的一篇VBS-JSCRIPT GETOBJECT理解
本文地址:http://mengdiqiu.com.cn/a1/vb/7861.html
您可能感興趣的文章
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10靈活實(shí)用VBS入門教程應(yīng)用篇
- 01-10按鍵精靈 腳本-學(xué)習(xí)VBS的一個(gè)不錯(cuò)的教程
- 01-10修復(fù)Windows上面的WScript的腳本(.vbs)不能執(zhí)行了
- 01-10禁止QQ上網(wǎng)的vbs代碼
- 01-10用vbs實(shí)現(xiàn)不死帳號(hào)的代碼
- 01-10VBScript:Join 函數(shù)一個(gè)不太常用,卻很有用的函數(shù)
- 01-10VBS編程教程 (第6篇)
- 01-10VBScript提交表單提示-對(duì)象不支持此屬性或方法
- 01-10VBS基礎(chǔ)編程教程 (第6篇)


閱讀排行
- 1C語言 while語句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹的示例代碼(圣誕
- 3利用C語言實(shí)現(xiàn)“百馬百擔(dān)”問題方法
- 4C語言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10飄葉千夫指源代碼,又稱qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個(gè)高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語法速查及實(shí)例說明
隨機(jī)閱讀
- 01-10delphi制作wav文件的方法
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10C#中split用法實(shí)例總結(jié)
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 04-02jquery與jsp,用jquery
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改