共用方式為


指定命名空間延伸模組的位置

命名空間延伸模組的根目錄通常會由 Windows 檔案總管顯示為樹視圖和資料夾檢視中的資料夾。 若要讓 Windows 檔案總管顯示延伸模組的檔案和子資料夾,您必須指定根資料夾位於 Shell 命名空間階層中的位置。 這個位置稱為 連接點

使用虛擬資料夾作為連接點

定義延伸模組連接點的最簡單方式是讓根資料夾成為系統虛擬資料夾的子資料夾。 這種類型的連接點稱為 虛擬連接點DesktopMy Computer 資料夾是虛擬連接點的典型位置,但您也可以在遠端電腦上或 [我的網络位置]下定義虛擬連接點、Internet Explorer[控制面板] 資料夾。

若要定義虛擬連接點,請在代表適當虛擬資料夾的主鍵中建立子機碼,並以擴充元件的類別識別碼的字串形式命名它。 已註冊的 CLSID 如下所示。

HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
   Software
      Microsoft
         Windows
            CurrentVersion
               Explorer
                  Virtual Folder Name
                     NameSpace
                        {Extension CLSID}
                           (Default) = Junction Point Name

虛擬資料夾名稱 是下表中的其中一個子機碼。

位置 虛擬資料夾名稱
控制面板 控制面板
桌面 桌面
整個網路 網路鄰居\整個網路
我的電腦 我的電腦
我的網路位置 網路鄰居
遠端電腦 RemoteComputer
用戶檔案 使用者檔案

 

遠端擴充功能必須使用 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 旗標和逗號。