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
- Verwendung des search:-Protokolls mit Windows Vista mit SP1
- Beispiele
- Registrieren der Anwendung, die das Protokoll handhabt
- Verwandte Themen
Syntax
Das Suchprotokoll verwendet die folgende standardmäßige URL-codierte Syntax:
search:parameter=value[¶meter=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:
- Schreiben von ProgIDs zu HKEY_LOCAL_MACHINE, wie nachfolgend beschrieben. Beachten Sie, dass Anwendungen anwendungsspezifische ProgIDs für das Suchprotokoll erstellen müssen.
- Beanspruchen der Protokollzuordnung auf Computerebene.
- 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"
Zugehörige Themen