Share via


建立通訊協定處理常式的搜尋連線or

Windows 檔案總管會控制透過登錄機碼專案建立通訊協定處理常式的搜尋連接器。 透過登錄,實作者和協力廠商都可以讓新的和舊版通訊協定處理常式參與 Windows 7 搜尋。

本主題的組織方式如下:

關於在 Windows 7 中搜尋通訊協定處理常式連線器

在 Windows 7 中,從 [ 開始 ] 功能表或 Windows 檔案總管搜尋只會包含索引位置中的檔案,以及非檔案系統專案,例如具有搜尋連接器的遠端資料存放區或通訊協定處理常式專案。 除了在 [開始] 功能表和殼層搜尋範圍 中包含通訊協定處理常式專案之外,搜尋連接器還能讓 [開始 ] 功能表在 [開始 ] 功能表結果中 將通訊協定處理常式專案群組在一起,因此使用者可以按一下群組標頭,並只檢視通訊協定處理常式的結果。 或者,使用者可以流覽至 [ 搜尋 ] 資料夾、開啟搜尋連接器檔案,然後執行只包含與該搜尋連接器相關聯之特定通訊協定處理常式中的專案搜尋。

當使用者第一次啟動註冊通訊協定處理常式的應用程式時,Windows 檔案總管會在使用者的 Search 資料夾中產生通訊協定處理常式的 搜尋連接器檔案 (.search連線or-ms)。 具有通訊協定處理常式的應用程式可以選擇停用此行為,或自訂通訊協定處理常式搜尋連接器的名稱和描述。

注意

使用者 [ 搜尋 ] 資料夾的位置是 %userprofile%\Searches,或FOLDERID_SavedSearches。 FOLDERID_SavedSearches的 GUID 是 {7d1d3a04-debb-4115-95cf-2f29da2920da}。

 

Windows 檔案總管會透過下列各節所述的登錄機碼專案,控制建立通訊協定處理常式的搜尋連接器:

注意

沒有程式設計方式可建立通訊協定處理常式的搜尋連接器。 它們必須透過登錄進行設定。

 

下表概述登錄機碼及其可能的值。 例如,通訊協定處理常式可以填入部分或全部的登錄機碼,其中 < 通訊協定會取代為其通訊協定 > 的實際名稱,例如 MAPI、檔案或 csc。

登錄機碼 可能的值(秒) 類型 註解
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearch連線ors\protocol > \ < Version 不存在 (預設值)。 否則為 1 或更新。 REG_DWORD 這個值可用來偵測已處理之搜尋根目錄的位置範本註冊變更。 如果不存在,請使用 0 做為預設值。 或者,遞增版本,通知 Windows 檔案總管應該重新產生搜尋連接器,因為已安裝較新版本的通訊協定處理常式。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearch連線ors\ < protocol > \DoNotCreateSearch連線ors 不存在 (預設值)。 否則會設定為 1。 REG_DWORD 如果不存在,請在 Search 資料夾中建立 .searchconnector-ms 檔案。 如果為 1,請標示為已處理且不執行任何動作。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearch連線ors\ < protocol > \Default\Description 可當地語系化的字串,其中包含搜尋連接器的描述。 REG_SZ 選擇性。 它用於 .searchconnector-ms 檔案的 Description 元素中。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearch連線ors\ < protocol > \Default\Name 要命名搜尋連接器的當地語系化字串。 用來做為 .searchconnector-ms 檔案的名稱。 REG_SZ 每個位置都必須有唯一的名稱。 如果沒有此值,將會使用通訊協定處理常式的 IShellFolder 介面 所提供的顯示名稱。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearch連線ors\ < protocol > \Default\FolderType 識別 要套用至搜尋連接器之 FOLDERTYPEID 的 GUID。 REG_SZ 選擇性。 用於 .searchconnector-ms 檔案的 folderType 元素中,以指出應該用來顯示結果的範本。 例如,FOLDERTYPEID_Documents的 GUID 值。

 

停用通訊協定處理常式搜尋連線或建立

如果您的應用程式透過通訊協定處理常式公開專案以用於應用程式本身,而且您不想透過殼層公開專案(在 \[開始 \] 功能表和 Windows 檔案總管搜尋中),您必須停用建立通訊協定處理常式的搜尋連接器。

若要停用搜尋連接器建立設定 DoNotCreateSearch連線ors 0x00000001(1),如下列登錄機碼範例所示。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  DoNotCreateSearchConnectors

如果 DoNotCreateSearch連線ors 設定為 1,則建議您在通訊協定處理常式所公開的每個專案上公開 System.Shell.OmitFromView 屬性,並將此屬性的值設定為 TRUE 。 這麼做可防止通訊協定處理常式專案出現在 [開始] 功能表 [檔案 ] 群組底下

如果 DoNotCreateSearch連線ors 存在且設定為零,則 Windows 檔案總管會建立通訊協定處理常式的搜尋連接器,而且會在 [開始 ] 功能表和 Windows 檔案總管搜尋中 傳回通訊協定處理常式專案。

自訂通訊協定處理常式搜尋連線or 的名稱、描述或 FolderType

搜尋連接器名稱不僅用來識別 [搜尋 ] 資料夾中的搜尋連接器 ,而且用來識別 [開始 ] 功能表搜尋中結果的 群組標頭。 因此,請務必提供搜尋連接器的描述性名稱。 如果未在登錄機碼中提供名稱,Windows 檔案總管預設會使用 IShellFolder 介面 提供 的名稱作為通訊協定處理常式的搜尋根目錄和空白描述。 您可以透過登錄機碼專案覆寫預設名稱,而不需要重新命名 IShellFolder 介面。 雖然它不如搜尋連接器名稱那麼可見,但您也可以提供自己的描述來覆寫搜尋連接器的描述。

若要覆寫預設名稱或描述,請設定專案,如下列登錄範例所示。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  Default
                     Name
                     Description

此外,FolderType 專案也可以設定為其中 一個 FOLDERTYPEID GUID。 此值應該是實際的 GUID,而不是其名稱。 例如,{94d6ddcc-4a68-4175-a374-bd584a510b78} 而不是FOLDERTYPEID_Music。 您可以在 Windows SDK 的 Shlguid.h 標頭檔中取得 FOLDERTYPEID 的 GUID。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  Default
                     FolderType = {94d6ddcc-4a68-4175-a374-bd584a510b78}

使用登錄字串重新導向

您可以使用 重新導向的字串 ,以確保您為搜尋連接器提供的名稱可以當地語系化。 您可以包含名稱和描述登錄機碼的可當地語系化字串,而不是在登錄中輸入實際的字串。

若要包含 Name 或 Description 值的可當地語系化字串,請設定值,如下列登錄機碼範例所示。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  Name = @dllname.dll,-resourceID

可當地語系化的字串採用下列格式:

  • @dllname.dll,-resourceID,其中:
    • @dllname.dll 是包含字串資源之 DLL 的路徑
    • resourceID 是字串資源的整數資源識別碼

SHLoadIndirectString 函 式會 描述間接字串的格式,以及附加版本修飾詞的間接字串。

還原已刪除的通訊協定處理常式搜尋連線or

由於搜尋連接器是使用者電腦上的檔案,因此可能會錯誤地刪除它們。 若要還原所有已刪除的通訊協定處理常式搜尋連接器,請還原預設程式庫。 若要這樣做,請開啟 Windows 檔案總管,以滑鼠右鍵按一下 [程式庫 ] 資料夾,然後選取 [ 還原預設程式庫 ]。

screen shot showing the restore default libraries menu option

其他資源

概念

瞭解通訊協定處理常式

開發通訊協定處理常式

通知索引變更

新增圖示和操作功能表

程式碼範例:通訊協定處理常式的殼層延伸模組

安裝和註冊通訊協定處理常式

偵錯通訊協定處理常式