Freigeben über


Erstellen eines Suchconnectors für einen Protokollhandler

Windows Explorer steuert die Erstellung eines Suchconnectors für einen Protokollhandler über Registrierungsschlüsseleinträge. Durch die Registrierung können sowohl Implementierer als auch Drittanbieter neue und ältere Protokollhandler für die Teilnahme an der Windows 7-Suche aktivieren.

Dieses Thema ist wie folgt organisiert:

Informationen zu Suchconnectors für Protokollhandler in Windows 7

In Windows 7 enthalten Suchvorgänge aus dem Start-Menü oder Windows-Explorer nur Dateien an indizierten Speicherorten und Nicht-Dateisystemelemente wie Remotedatenspeicher oder Protokollhandlerelemente, die über einen Suchconnector verfügen. Zusätzlich zur Aufnahme der Protokollhandlerelemente in den Suchbereich des Start-Menüs und der Shell ermöglicht der Such-Connector dem Start-Menü, die Protokollhandlerelemente in den Ergebnissen des Start-Menüs zu gruppieren, was den Vorteil hat, dass der Benutzer auf die Gruppenüberschrift klicken und nur die Ergebnisse des Protokollhandlers anzeigen kann. Alternativ kann der Benutzer zum Ordner Suchen navigieren, die Suchkonnektordatei öffnen und eine Suche ausführen, die nur Elemente aus dem spezifischen Protokollhandler enthält, der diesem Suchconnector zugeordnet ist.

Wenn ein Benutzer zuerst eine Anwendung startet, die einen Protokollhandler registriert, generiert Windows Explorer eine Suchconnectordatei (.searchConnector-ms) für den Protokollhandler im Ordner Suchen des Benutzers. Anwendungen mit Protokollhandlern können dieses Verhalten deaktivieren oder den Namen und die Beschreibung des Suchconnectors für Protokollhandler anpassen.

Hinweis

Der Speicherort des Ordners Suchen des Benutzers lautet %userprofile%\Searches, or FOLDERID_SavedSearches. Die GUID für FOLDERID_SavedSearches lautet {7d1d3a04-debb-4115-95cf-2f29da2920da}.

 

Windows Explorer steuert die Erstellung eines Suchconnectors für einen Protokollhandler über Registrierungsschlüsseleinträge wie in den folgenden Abschnitten beschrieben:

Hinweis

Es gibt keine programmgesteuerten Mittel zum Erstellen eines Suchconnectors für einen Protokollhandler. Sie müssen über die Registrierung konfiguriert werden.

 

Registrierungsschlüssel und ihre möglichen Werte sind in der folgenden Tabelle beschrieben. Ein Protokollhandler kann einige oder alle dieser Registrierungsschlüssel auffüllen, bei denen das <Protokoll> durch den tatsächlichen Namen des Protokolls ersetzt wird, z. B. MAPI, Datei oder csc.

Registrierungsschlüssel Mögliche Wert(e) Typ Kommentare
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearchConnectors\<protocol>\Version Ist nicht vorhanden (Standard). Andernfalls 1 oder höher. REG_DWORD Dieser Wert wird verwendet, um Änderungen an den Speicherortvorlagenregistrierungen für bereits verarbeitete Suchstämme zu erkennen. Wenn nicht vorhanden, verwenden Sie „0“ als Standard. Alternativ können Sie die Version erhöhen, um Windows Explorer darüber zu informieren, dass der Suchconnector neu generiert werden soll, da eine neuere Version des Protokollhandlers installiert wurde.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearchConnectors\<protocol>\DoNotCreateSearchConnectors Ist nicht vorhanden (Standard). Andernfalls auf 1 festgelegt. REG_DWORD Wenn nicht vorhanden, erstellen Sie eine .searchconnector-ms-Datei im Ordner „Suchen“. Wenn 1, als verarbeitet markieren und nichts ausführen.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearchConnectors\<protocol>\Default\Description Eine lokalisierbare Zeichenfolge, die die Beschreibung des Suchconnectors enthält. REG_SZ Optional. Sie wird im Description-Element der .searchconnector-ms-Datei verwendet.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearchConnectors\<protocol>\Default\Name Eine lokalisierte Zeichenfolge, um den Suchconnector zu benennen. Wird als Name der .searchconnector-ms-Datei verwendet. REG_SZ Jeder Speicherort muss einen eindeutigen Namen aufweisen. In Abwesenheit dieses Werts wird der Anzeigename verwendet, der von der IShellFolder -Schnittstelle des Protokollhandlersbereitgestellt wird.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearchConnectors\<protocol>\Default\FolderType Eine GUID, die die FOLDERTYPEID identifiziert, die auf den Suchconnector angewendet werden soll. REG_SZ Optional. Wird im folderType-Element der .searchconnector-ms-Datei verwendet, um anzugeben, welche Vorlagen zum Anzeigen von Ergebnissen verwendet werden sollen. Beispielsweise der GUID-Wert von FOLDERTYPEID_Documents.

 

Deaktivieren der Erstellung von Protokollhandler-Suchconnectors

Wenn Ihre Anwendung Elemente über einen Protokollhandler für die Verwendung in der Anwendung selbst verfügbar macht und Sie die Elemente nicht über die Shell verfügbar machen möchten (im Start-Menü und in Windows Explorer-Suchvorgängen), müssen Sie die Erstellung eines Suchconnectors für Ihren Protokollhandler deaktivieren.

Um die Erstellung von Suchconnectors zu deaktivieren, legen Sie DoNotCreateSearchConnectors auf 0x00000001(1) fest, wie im folgenden Registrierungsschlüsselbeispiel gezeigt.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  DoNotCreateSearchConnectors

Wenn DoNotCreateSearchConnectors auf 1 festgelegt ist, wird empfohlen, die System.Shell.OmitFromView-Eigenschaft für jedes Element verfügbar zu machen, das vom Protokollhandler verfügbar gemacht wird, und der Wert dieser Eigenschaft wird auf TRUE festgelegt. Dadurch wird verhindert, dass die Protokollhandlerelemente unter dem Start-Menü in der Gruppe Dateien angezeigt werden.

Wenn DoNotCreateSearchConnectors vorhanden und auf Null festgelegt ist, erstellt Windows Explorer einen Suchconnector für den Protokollhandler, und die Protokollhandlerelemente werden im Start-Menü und in Windows Explorer-Suchen zurückgegeben.

Anpassen des Namens, der Beschreibung oder des Ordnertyps für einen Protokollhandler-Suchconnector

Der Name des Suchconnectors wird nicht nur verwendet, um den Suchconnector im Ordner Suchen zu identifizieren, sondern als Gruppenkopf für die Ergebnisse in Suchen im Start-Menü. Daher ist es wichtig, einen beschreibenden Namen für den Suchconnector bereitzustellen. Wenn im Registrierungsschlüssel kein Name angegeben wird, verwendet Windows-Explorer standardmäßig den Namen, der von der IShellFolder-Schnittstelle für den Suchstamm und die leere Beschreibung des Protokollhandlers bereitgestellt wird. Sie können den Standardnamen über einen Registrierungsschlüsseleintrag außer Kraft setzen, ohne die IShellFolder-Schnittstelle umbenennen zu müssen. Obwohl er nicht so sichtbar ist wie der Name des Suchconnectors, können Sie die Beschreibung für den Suchconnector auch überschreiben, indem Sie eine eigene Beschreibung angeben.

Um den Standardnamen oder die Standardbeschreibung außer Kraft zu setzen, legen Sie die Einträge wie im folgenden Registrierungsbeispiel gezeigt fest.

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

Darüber hinaus kann der FolderType-Eintrag auf eine der FOLDERTYPEID-GUIDs festgelegt werden. Der Wert sollte die tatsächliche GUID und nicht sein Name sein. Beispiel: {94d6ddcc-4a68-4175-a374-bd584a510b78} anstelle von FOLDERTYPEID_Musik. Die GUID für eine FOLDERTYPEID kann in der Headerdatei „Shlguid.h“ im Windows SDK abgerufen werden.

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

Verwenden der Umleitung von Registrierungszeichenfolgen

Sie können eine umgeleitete Zeichenfolge verwenden, um sicherzustellen, dass der für den Suchconnector bereitgestellte Name lokalisiert werden kann. Sie können lokalisierbare Zeichenfolgen für den Namen und die Beschreibungsregistrierungsschlüssel einschließen, anstatt die tatsächliche Zeichenfolge in die Registrierung einzugeben.

Um eine lokalisierbare Zeichenfolge für die Werte „Name“ oder „Description“ einzuschließen, legen Sie den Wert fest, wie im folgenden Beispiel für Registrierungsschlüssel dargestellt.

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

Die lokalisierbare Zeichenfolge hat das folgende Format:

  • @dllname.dll,-resourceID, wobei:
    • @dllname.dll der Pfad zu der DLL ist, die die Zeichenfolgenressource enthält
    • resourceID die ganzzahlige Ressourcen-ID der Zeichenfolgenressource ist

Das Format für eine indirekte Zeichenfolge und eine indirekte Zeichenfolge, an die der Versionsmodifizierer angefügt wird, wird in der SHLoadIndirectString-Funktion beschrieben.

Wiederherstellen eines gelöschten Protokollhandler-Suchconnectors

Da Suchconnectors Dateien auf dem Computer des Benutzers sind, können sie versehentlich gelöscht werden. Um alle gelöschten Protokollhandler-Suchconnectors wiederherzustellen, stellen Sie die Standardbibliotheken wieder her. Öffnen Sie dazu den Windows-Explorer, klicken Sie mit der rechten Maustaste auf den Ordner Bibliotheken, und wählen Sie dann Standardbibliotheken wiederherstellen aus.

screen shot showing the restore default libraries menu option

Weitere Ressourcen

Konzept

Grundlegendes zu Protokollhandlern

Entwickeln von Protokollhandlern

Benachrichtigen des Indexes über Änderungen

Hinzufügen von Symbolen und Kontextmenüs

Codebeispiel: Shellerweiterungen für Protokollhandler

Installieren und Registrieren von Protokollhandlern

Debuggen von Protokollhandlern