Verwenden des Protokolls "search"

Das Anwendungsprotokoll search: ist eine erweiterbare Konvention zum Aufrufen der Desktopsuchanwendung auf Windows Vista mit Service Pack 1 (SP1) und höher. Das Protokoll wurde in Windows Vista mit SP1 erstellt, um Windows eine Möglichkeit zu geben, die Standardanwendung für die Desktopsuche zu bestimmen und aufzurufen.

Die Protokollsyntax stellt eine Reihe von Parametern bereit, die für allgemeine Desktopsuchen nützlich sind, z. B. vom Benutzer eingegebene Suchbegriffe oder der Ort, an dem die Suche begonnen wurde. Wenn Benutzer über einen der beiden verfügbaren Sucheinstiegspunkte suchen (entweder über das Startmenü oder Windows Explorer), verwendet das Betriebssystem das Suchprotokoll, um die Standardanwendung für die Desktopsuche zu starten. Hierzu werden die vom Benutzer eingegebenen Suchbegriffe zur Standardsyntax des Suchprotokolls hinzugefügt und diese Informationen an die Anwendung übergeben, die als Standardsuchanwendung registriert ist.

Wenn keine anderen Desktopsuchanwendungen installiert sind, startet eine in diesen Einstiegspunkten eingegebene Suche den Windows-Suche-Explorer. Entwickler von Drittanbietern können ihre Anwendungen jedoch erstellen, installieren und registrieren, um das Suchprotokoll zu verarbeiten und die Standardsuchanwendung zu sein. Solche Anwendungen müssen die Syntax des Suchprotokolls unterstützen und sich bei der Funktion Standardprogramme registrieren, um eine nahtlose Erfahrung mit Windows sicherzustellen.

Wenn Sie eine Anwendung entwickeln, die eine bestimmte Desktopsuchanwendung verwenden oder darauf aufbauen soll, sollten Sie nicht ausschließlich vom Suchprotokoll abhängig sein. Da viele Anwendungen das "search:"-Protokoll besitzen könnten, gibt es keine Garantie dafür, dass ihre Zielanwendung für die Desktopsuche sie zu einem bestimmten Zeitpunkt besitzt. Stattdessen sollten Sie ein privates Suchprotokoll verwenden, das von dieser Zielanwendung für die Desktopsuche definiert wird. Dies bedeutet, dass Desktopsuchanwendungen, die als Plattform für Anwendungen von Drittanbietern vorgesehen sind, sowohl das Suchprotokoll als auch ein eigenes proprietäres 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 Fenstersuche-Explorer zu starten oder den Windows Search-Indexer im Hintergrund abzufragen.

In diesem Thema werden folgende Themen behandelt:

Syntax

Das Suchprotokoll verwendet die folgende URL-codierte Standardsyntax:

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

Die Syntax beginnt mit der Identifizierung des Protokolls selbst (suche:). Die Parameter-Wert-Paare sind Argumente, die an die Suchmaschine übergeben werden, wie in der folgenden Tabelle beschrieben, in der alle möglichen Parameter für die Syntax des Suchprotokolls angezeigt werden.

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 identifiziert.
keywordlocale Beliebige gültige LCID Die LCID, die die Sprache der internationalen Version des Indexers identifiziert. Der Standardwert ist 1033 (en-us).
Krume AQS-Anweisung Dieses Argument schränkt den bereich ein, der durchsucht wird. In Windows Vista unterstützt das Suchprotokoll vollständige AQS-Funktionen sowie eine spezielle Implementierung für ein location Argument. In Windows XP unterstützt das Suchprotokoll auch vollständige AQS- mit Ausnahme einer speziellen Implementierung von kind und store .
Syntax NQS, AQS (groß-/kleinschreibung nicht beachten) Die Abfragesyntax, die zum Durchsuchen des Index verwendet werden soll: Entweder Natural Query Syntax oder Advanced Query Syntax (AQS). AQS ist die Standardeinstellung und wird immer als analysiert und unterstützt angenommen.
stackedby Jede gültige Eigenschaft aus dem Eigenschaftensystem Eine -Eigenschaft, die die Spalte angibt, nach der Ergebnisse gestapelt 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. Das heißt, die Abfragebegriffe werden anhand der Ergebnisse der Unterabfrage gesucht.
displayname URL-codierte Zeichenfolge Der Name der aktuellen Suche.

Windows Vista mit SP1 unter Verwendung des Protokolls search:

Windows Vista mit SP1 verfügt über mehrere Einstiegspunkte, von denen das "search:"-Protokoll bezeichnet wird. Diese Einstiegspunkte werden unten sowie die jeweils zugeordnete allgemeine Syntax beschrieben.

Suchprotokolleinstiegspunkt Standort Abfrage aufgerufen
Überall suchen Startmenü search:query=<Suchbegriff>
Überall suchen Windows-Explorer search:query=<Suchbegriff>&10000= location:<LOCATION>
WINDOWS-TASTE+F Überall Suche:
STRG+F Windows-Explorer search:query=<Suchbegriff>&10000= location:<LOCATION>
F3 Startmenü Suche:
F3 Windows-Explorer search:query=<Suchbegriff>&10000= location:<LOCATION>

Die Windows Vista mit Sp1-Suchprotokoll-Einstiegspunkten nutzen nicht alle möglichen Parameter im Suchprotokoll. Anwendungen, die nur suchprotokollaufrufe von Windows Vista mit SP1 verarbeiten, können die folgende Tabelle als Leitfaden für das Minimum verwenden, das sie implementieren müssen.

Parameter Von Windows verwendet? Verwendung Windows Vista mit SP1 beim Aufrufen der Suche:
Abfrage Ja Der vom Benutzer eingegebene Abfragetext.
Krume Ja wird das location Argument verwendet, um anzugeben, woher die Abfrage stammt.
subquery Ja Die Ergebnisse des Subquery-Arguments werden als Bereich der zu durchsuchende Elemente verwendet. Dies wird normalerweise verwendet, wenn ein Benutzer eine SEARCH-MS-Datei für die Suche verwendet und dann die Standardanwendung für die Desktopsuche innerhalb dieser Suche aufgerufen hat.
inputlocale Nein Derzeit nicht verwendet.
keywordlocale Nein Derzeit nicht verwendet.
Syntax Nein Derzeit nicht verwendet.
stackedby Nein Derzeit nicht verwendet.
displayname Nein Derzeit nicht verwendet.

Beispiele

Wenn ein Benutzer "Microsoft" im Startmenü ein gibt und auf Überall suchen klickt, wird der resultierende Suchprotokollaufruf vorgenommen:

search:query=microsoft&

Wenn ein Benutzer "Seattle" in Windows Explorer in C: MyFolder ein gibt und dann auf Überall suchen klickt, wird der folgende Aufruf mit Escapezeichen für \ ":" und "" \ vorgenommen:

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

Registrieren der Anwendung, die das Protokoll verarbeitet

Da mehrere Anwendungen um das Suchprotokoll konkurrieren können, sollten Sie Ihre Anwendung während der Installation beim Feature Standardprogramme registrieren, damit der Benutzer die Standardeinstellung einfacher konfigurieren kann. Zusätzlich zu den Installationsverfahren, die normalerweise unter Windows XP ausgeführt werden, muss sich eine Windows Vista-basierte Anwendung beim Standardprogrammfeature registrieren, damit die Anwendung und 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 Sie ProgIDs wie unten beschrieben auf HKEY _ LOCAL _ MACHINE. Beachten Sie, dass Anwendungen anwendungsspezifische ProgIDs für das Suchprotokoll erstellen müssen.
  2. Anspruch auf Zuordnung des Suchprotokolls auf Computerebene.
  3. Registrieren Sie die Anwendung bei Standardprogrammen,wie unter Registriereneiner Anwendung für die Verwendung mit Standardprogrammen erläutert, als Kandidat für das Suchprotokoll.

Registrierungseinträge

Im Folgenden finden Sie Beispiele für die erforderlichen Registrierungseinträge für eine 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