Freigeben über


Verwenden des Search-Protokolls

Das Anwendungsprotokoll search: ist eine erweiterbare Konvention zum Aufrufen der Desktop-Suchanwendung unter Windows Vista mit Service Pack 1 (SP1) und höheren Versionen. Das Protokoll wurde in Windows Vista mit SP1 erstellt, um Windows eine Möglichkeit zu geben, die standardmäßige Desktop-Suchanwendung zu ermitteln und aufzurufen.

Die Protokollsyntax bietet eine Reihe von Parametern, die für die Durchführung allgemeiner Desktop-Suchvorgänge nützlich sind, z. B. von Benutzern eingegebene Suchbegriffe oder den Speicherort, an dem die Suche begonnen wurde. Wenn Benutzer von einem der beiden verfügbaren Sucheinstiegspunkte (entweder Start-Menü oder Windows Explorer) aus suchen, verwendet das Betriebssystem das Suchprotokoll, um die standardmäßige Desktop-Suchanwendung zu starten. Dazu fügt es die vom Benutzer eingegebenen Suchbegriffe zur standardmäßigen Suchprotokollsyntax hinzu und übergibt diese Informationen an die Anwendung, die als Standard-Suchanwendung registriert ist.

Wenn keine anderen Desktop-Suchanwendungen installiert sind, startet eine an diesen Einstiegspunkten eingegebene Suche den Windows Search Explorer. Entwickler von Drittanbietern können ihre Anwendungen jedoch so erstellen, installieren und registrieren, dass sie das Suchprotokoll zu verarbeiten und als standardmäßige Suchanwendung fungieren. Solche Anwendungen müssen die Suchprotokollsyntax unterstützen und mit dem Feature Standardprogramme registriert werden, um eine nahtlose Umgebung unter Windows sicherzustellen.

Wenn Sie eine Anwendung entwickeln, die für die Verwendung oder Erstellung einer bestimmten Desktop-Suchanwendung vorgesehen ist, sollten Sie sich nicht ausschließlich auf das Protokoll search: stützen. Da viele Anwendungen Eigentümer des search:-Protokolls sein können, gibt es keine Garantie dafür, dass Ihre zielorientierte Desktop-Suchanwendung zu einem bestimmten Zeitpunkt dessen Eigentümer ist. Stattdessen sollten Sie ein privates Suchprotokoll verwenden, das von dieser zielbezogenen Desktop-Suchanwendung definiert ist. Dies bedeutet, dass Desktop-Suchanwendungen, die als Plattform für Drittanbieteranwendungen fungieren sollen, sowohl das search:-Protokoll, als auch das eigene proprietäre Suchprotokoll unterstützen sollten.

Hinweis

Das search:-Protokoll ersetzt nicht das proprietäre search-ms:-Protokoll. Anwendungen können weiterhin das search-ms:-Protokoll verwenden, um den Windows Search Explorer zu starten oder den Windows Search-Indexer im Hintergrund abzufragen.

 

In diesem Thema werden folgende Themen behandelt:

Syntax

Das Suchprotokoll verwendet die folgende standardmäßige URL-codierte Syntax:

search:parameter=value[&parameter=value]&

Die Syntax beginnt mit der Identifizierung des Protokolls selbst (search:). Die Parameter/Wert-Paare sind Argumente, die an die Suchengine übergeben werden, wie in der folgenden Tabelle beschrieben, die alle möglichen Parameter für die Suchprotokollsyntax aufführt.

Parameter Wert Beschreibung
Abfrage URL-codierter Text Der vom Benutzer eingegebene Abfragetext.
inputlocale Beliebiger gültiger Sprachcodebezeichner (LCID) Die LCID, die die Eingabesprache für die Abfrage angibt.
keywordlocale Beliebige gültige LCID Die LCID, die die Sprache der internationalen Version des Indexers identifiziert. Der Standard ist 1033 (en-us).
crumb AQS-Anweisung Dieses Argument schränkt den durchsuchten Bereich ein. Unter Windows Vista unterstützt das Suchprotokoll vollständige AQS sowie eine spezielle Implementierung für ein location Argument. Unter Windows XP unterstützt das Suchprotokoll ebenfalls vollständige AQS, mit Ausnahme einer speziellen Implementierung von kind und store.
Syntax NQS, AQS (ohne Beachtung der Groß-/Kleinschreibung) Die zum Durchsuchen des Indexes zu verwendende Abfragesyntax: entweder Natural Query Syntax oder Advanced Query Syntax (AQS). AQS ist der Standard, der immer analysiert und unterstützt wird.
stackedby Beliebige gültige Eigenschaft aus dem Eigenschaftensystem Eine Eigenschaft, die die Spalte angibt, nach der Ergebnisse organisiert werden sollen.
subquery Ein vollständig angegebener Pfad für eine gespeicherte Suchdatei (*.search-ms) Die Ergebnisse der Unterabfrage werden als Quelle für die Abfrage verwendet. Dies bedeutet, dass die Abfragebegriffe anhand der Ergebnisse der Unterabfrage gesucht werden.
displayname URL-codierte Zeichenfolge Der Name der aktuellen Suche.

 

Verwendung des search:-Protokolls mit Windows Vista mit SP1

Windows Vista mit SP1 verfügt über mehrere Einstiegspunkte, von denen aus das search:-Protokoll aufgerufen wird. Diese Einstiegspunkte werden unten mit der jeweils dazugehörigen Syntax beschrieben.

Suchprotokoll-Einstiegspunkt Location Aufgerufene Abfrage
Search Everywhere Startmenü search:query=<Search Term>
Search Everywhere Windows-Explorer search:query=<Search Term>&crumb=location:<LOCATION>
WINDOWS-TASTE+F Anywhere search:
STRG+F Windows-Explorer search:query=<Search Term>&crumb=location:<LOCATION>
F3 Startmenü search:
F3 Windows-Explorer search:query=<Search Term>&crumb=location:<LOCATION>

 

Die Suchprotokoll-Einstiegspunkte bei Windows Vista mit SP1 nutzen nicht alle möglichen Parameter im Suchprotokoll. Anwendungen, die sich nur mit der Behandlung von Suchprotokollaufrufen von Windows Vista mit SP1 befassen, können die folgende Tabelle als Leitfaden für das Minimum verwenden, das implementiert werden muss.

Parameter Von Windows verwendet? Verwendung durch Windows Vista mit SP1 beim Aufrufen der Suche:
Abfrage Ja Der vom Benutzer eingegebene Abfragetext.
crumb Ja Crumb verwendet das location-Argument, um anzugeben, woher die Abfrage stammt.
subquery Ja Die Ergebnisse des Unterabfrage-Arguments werden als Bereich der zu durchsuchenden Elemente verwendet. Dies käme in der Regel zum Einsatz, wenn ein Benutzer eine SEARCH-MS-Datei zum Durchsuchen verwendet und dann die standardmäßige Desktop-Suchanwendung aus dieser Suche heraus aufgerufen hat.
inputlocale No Derzeit nicht verwendet.
keywordlocale No Derzeit nicht verwendet.
Syntax No Derzeit nicht verwendet.
stackedby No Derzeit nicht verwendet.
displayname No Derzeit nicht verwendet.

 

Beispiele

Wenn ein Benutzer „Microsoft“ im Start-Menü eingibt und auf Search Everywhere klickt, wird der resultierende Suchprotokollaufruf getätigt:

search:query=microsoft&

Wenn ein Benutzer „Seattle“ im Windows-Explorer in C:\MyFolder eingibt und dann auf Search Everywhere klickt, wird der folgende Aufruf ausgeführt, wobei Escapezeichen für „:“ und „\“ verwendet werden:

search:query=seattle&crumb=location:C%3A%5CMyFolder

Registrieren der Anwendung, die das Protokoll handhabt

Da mehrere Anwendungen um das Suchprotokoll konkurrieren können, sollten Sie Ihre Anwendung während der Installation mit dem Feature Default Programs registrieren, damit Benutzer die Standardeinstellung einfacher konfigurieren können. Neben den unter Windows XP üblicherweise praktizierten Installationsverfahren muss sich eine Windows Vista-basierte Anwendung mit dem Feature „Default Programs“ registrieren, damit die Anwendung und die Benutzer die Standardeinstellungen nahtlos konfigurieren können.

Nach der Installation der erforderlichen Binärdateien auf dem Computer des Benutzers sollte Ihre Installationsroutine die folgenden allgemeinen Aufgaben ausführen:

  1. Schreiben von ProgIDs zu HKEY_LOCAL_MACHINE, wie nachfolgend beschrieben. Beachten Sie, dass Anwendungen anwendungsspezifische ProgIDs für das Suchprotokoll erstellen müssen.
  2. Beanspruchen der Protokollzuordnung auf Computerebene.
  3. Registrieren Sie die Anwendung mit Standard Programs, wie unter Registrieren einer Anwendung für die Verwendung mit Standard Programs erläutert, für die Konkurrenz um das Suchprotokoll.

Registrierungseinträge

Im Folgenden finden Sie Beispiele für die erforderlichen Registrierungseinträge für die fiktive Desktopsuchanwendung „Contoso Search“.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         contoso-search
            URL Protocol = ""
HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         contoso-search
            DefaultIcon
               (Default) = %ProgramFiles%\Contoso\Search\contososearch.exe,-7
HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         contoso-search
            shell
               open
                  command
                     (Default) = %ProgramFiles%\Contoso\Search\contososearch.exe %1
HKEY_LOCAL_MACHINE
   SOFTWARE
      RegisteredApplications
         Contoso Search = "Software\\Contoso\\Search\\Capabilities"
HKEY_LOCAL_MACHINE
   SOFTWARE
      Contoso
         Search
            Capabilities
               ApplicationName = "Contoso Search Test App"
               ApplicationDescription = "Contoso search is a great new desktop search application"
HKEY_LOCAL_MACHINE
   SOFTWARE
      Contoso
         Search
            Capabilities
               UrlAssociations
                  search = "contoso-search"

Erweiterte Abfragesyntax

Standardprogramme