指定命名空間延伸模組的位置
命名空間延伸模組的根目錄通常會由 Windows 檔案總管顯示為樹狀檢視和資料夾檢視中的資料夾。 若要讓 Windows 檔案總管顯示延伸模組的檔案和子資料夾,您必須指定根資料夾位於 Shell 命名空間階層中的位置。 這個位置稱為 連接點。
使用虛擬資料夾作為連接點
定義延伸模組連接點的最簡單方式是讓根資料夾成為系統虛擬資料夾的子資料夾。 這種類型的連接 點稱為虛擬連接點。 [桌面] 和 [我的電腦] 資料夾是虛擬連接點的一般位置,但您也可以在遠端電腦上或[我的網路位置]、[Internet Explorer] 和[主控台] 資料夾下定義虛擬連接點。
若要定義虛擬連接點,請建立代表適當虛擬資料夾的索引鍵子機碼,並以延伸模組類別識別碼的字串形式命名它, (CLSID) 。 已註冊的 CLSID 如下所示。
HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
Software
Microsoft
Windows
CurrentVersion
Explorer
Virtual Folder Name
NameSpace
{Extension CLSID}
(Default) = Junction Point Name
虛擬資料夾名稱 是下表中的其中一個子機碼。
位置 | 虛擬資料夾名稱 |
---|---|
控制台 | ControlPanel |
桌面 | Desktop (電腦) |
整個網路 | NetworkNeighborhood\EntireNetwork |
我的電腦 | MyComputer |
網路上的芳鄰 | NetworkNeighborhood |
遠端電腦 | RemoteComputer |
使用者檔案 | UsersFiles |
必須使用 IRemoteComputer初始化遠端延伸模組。
使用檔系統資料夾作為連接點
有兩種方式可將檔系統資料夾定義為連接點。 最簡單的方法是在適當的位置建立資料夾,並將句點附加至資料夾的名稱,後面接著延伸模組 CLSID 的字串形式。 只有資料夾名稱會顯示在 Windows 檔案總管中。 下列範例會建立具有 MyFolder 顯示名稱的連接點。
MyFolder.{Extension CLSID}
或者,您可以透過下列方式,將傳統的具名資料夾定義為連接點:
- 讓資料夾成為唯讀。
- 呼叫 PathMakeSystemFolder將資料夾設定為系統資料夾。
- 將隱藏Desktop.ini檔案放在包含副檔名 CLSID 的資料夾中。
Desktop.ini是標準文字檔,可新增至任何資料夾,以自訂資料夾行為的某些層面。 如需如何使用這個檔案的一般討論,請參閱 如何使用 Desktop.ini自訂資料夾 。 若要將資料夾定義為連接點,則為 [。Desktop.ini的 ShellClassInfo] 區段必須包含延伸模組的 CLSID,如下所示:
[.ShellClassInfo]
CLSID={Extension CLSID}
開啟命名空間延伸模組的檢視
當使用者流覽到連接點時,Windows 檔案總管會自動建立根資料夾的檢視。 您也可以使用延伸模組的 CLSID 作為引數明確地啟動Explorer.exe來建立檢視。 例如,您可以使用此方法,從快捷方式功能表或快捷方式啟動延伸模組的檢視。 例如,若要啟動包含樹狀檢視的 MyExtension 檢視,您可以使用下列命令字串。
%SystemRoot%\Explorer.exe /e,::{MyExtension CLSID}
替代的命令字串可用來啟動延伸模組內物件的檢視。 例如,對於使用資料夾檢視的擴充功能,可讓使用者檢視其中一個壓縮檔案的內容很有用。
%SystemRoot%\Explorer.exe /e,::{MyExtension CLSID},objectname
objectname參數是要檢視的物件名稱。 Windows 檔案總管會將名稱轉換成其對應的 PIDL,並將 PIDL 傳遞至新資料夾物件的 IPersistFolder::Initialize 方法。
注意
CLSID 字串前面必須加上一對冒號, (::) ,否則命令將會失敗。 在先前顯示的兩個範例命令列中使用的斜線-e (/e) 旗標會指示 Windows 檔案總管顯示樹狀檢視。 旗標必須以逗號分隔這兩個冒號。 如果您不想要樹狀檢視,請省略 /e 旗標和逗號。