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")
不錯的一篇VBS-JSCRIPT GETOBJECT理解
2020-07-10 18:02腳本之家 VBS
2年前,當時自己在寫ASPSHELL的時候 一直不理解為什么,GetObject("WinNT://.") 可以獲得本地系統 的一些重要信息,當時MSDN是這樣一個解析的
延伸 · 閱讀
- 2021-12-09禁用VBS提高Windows 11性能,這個技巧必須要掌握
- 2021-11-13使用VBS創建快捷方式的代碼
- 2021-11-13如何使用vbs 監控電腦活動記錄
- 2021-11-13如何用VBS腳本收集遠程計算機或本地計算機安裝
- 2021-10-08Windows 11 VBS 安全功能導致性能下降,教你如何檢
- 2021-10-08怎樣在Windows 11中禁用VBS以提高性能?
精彩推薦
- VBS
可以定時自動關機的vbs腳本
這篇文章主要分享一段可以定時自動關機的vbs腳本代碼,有需要的童鞋可以學習下...
- VBS
VBS教程:正則表達式簡介 -建立正則表達式
建立正則表達式 構造正則表達式的方法和創建數學表達式的方法一樣。也就是用多種元字符與操作符將小的表達式結合在一起來創建更大的表達式。 可以...
- VBS
VBS教程:屬性-AvailableSpace 屬性
VBS教程:屬性-AvailableSpace 屬性 ...
- VBS
VBS教程:對象-Folders 集合
VBS教程:對象-Folders 集合...
- VBS
vbs base64 解密腳本代碼
解密base64的vbs小函數,支持英文與數字不支持中文。...
- VBS
VBS教程:屬性-VolumeName 屬性
VBS教程:屬性-VolumeName 屬性...
- VBS
提供個可以顯示農歷的VBS代碼
本文主要分享一段可以顯示農歷的VBS代碼,具有一定的參考價值,有需要的朋友可以了解一下...
- VBS
腳本 MsAgent組件 微軟精靈 揪出系統自帶的寵物
你知道系統里有一個隱藏的寵物嗎? 將以下代碼保存為后綴為.vbs的文件,再雙擊運行,看看出來什么?一個可愛的魔法老人!還會說話、移動、吹喇叭…...