Dela via


Använda sökprotokollet

Den sökningen:programprotokoll är en utökningsbar konvention för att anropa skrivbordssökningsprogrammet i Windows Vista med Service Pack 1 (SP1) och senare versioner. Protokollet skapades i Windows Vista med SP1 för att ge Windows ett sätt att fastställa och anropa standardprogrammet för skrivbordssökning.

Protokollsyntaxen innehåller ett antal parametrar som är användbara för att utföra vanliga skrivbordssökningar, till exempel användarinmatning av söktermer eller platsen där sökningen påbörjades. När användarna söker från någon av de två tillgängliga sökinmatningspunkterna (antingen Start-menyn eller Utforskaren) använder operativsystemet sökprotokollet för att starta standardprogrammet för skrivbordssökning. Det gör det genom att lägga till de användarinskrivna söktermer i standardsyntaxen för sökprotokollet och skicka informationen till det program som är registrerat som standardsökprogram.

Om inga andra program för skrivbordssökning installeras startar en sökning som anges i dessa startpunkter Windows Search Explorer. Utvecklare från tredje part kan dock skapa, installera och registrera sina program för att hantera sökprotokollet och vara standardsökprogrammet. Sådana program måste ha stöd för syntaxen för sökprotokollet och registrera med funktionen standardprogram för att säkerställa en sömlös upplevelse med Windows.

Om du utvecklar ett program som är avsett att använda eller bygga vidare på ett specifikt skrivbordssökningsprogram bör du inte enbart vara beroende av sökning: protokoll. Eftersom många program kan äga sökning: protokoll finns det ingen garanti för att ditt målprogram för skrivbordssökning äger det vid en viss tidpunkt. I stället bör du använda ett privat sökprotokoll som definierats av det riktade skrivbordssökningsprogrammet. Det innebär att skrivbordssökningsprogram som är avsedda att vara en plattform för program från tredje part bör ha stöd för både sökning: protokoll och sitt eget patentskyddade sökprotokoll.

Not

Sökprotokollet : ersätter inte det proprietära search-ms: protokollet. Program kan fortfarande använda search-ms:-protokollet för att starta Windows Search Explorer eller för att tyst fråga Windows Search-indexeraren.

 

Det här avsnittet beskriver följande:

Syntax

I sökprotokollet används följande standardsyntax för URL-kodning:

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

Syntaxen börjar med att identifiera själva protokollet (sökning:). Parameter-/värdeparen är argument som skickas till sökmotorn enligt beskrivningen i följande tabell, som visar alla möjliga parametrar för sökprotokollsyntaxen.

Parameter Värde Beskrivning
sökfråga URL-kodad textsträng Frågetexten som angetts av användaren.
inputlocale Alla giltiga språkkodidentifierare (LCID) Den LCID som identifierar indataspråket för frågan.
keywordlocale Alla giltiga LCID Den LCID som identifierar språket för den internationella versionen av Indexer. Standardvärdet är 1033 (en-us).
smula AQS-uttalande Det här argumentet begränsar sökomfånget. I Windows Vista stöder sökprotokollet fullständig AQS samt en särskild implementering för ett location argument. I Windows XP stöder sökprotokollet även fullständig AQS, förutom en särskild implementering av kind och store.
syntax NQS, AQS (inte skiftlägeskänslig) Frågesyntaxen som ska användas för att söka i indexet: antingen Naturlig frågesyntax eller Avancerad frågesyntax (AQS). AQS är standardvärdet och antas alltid parsas och stöds.
staplad av Alla giltiga egenskaper från egenskapssystemet En egenskap som anger den kolumn som ska staplas resultat efter.
underfråga En fullständigt angiven sökväg för en sparad sökfil (*.search-ms) Resultatet av underfrågan används som källa för frågan. Det innebär att frågetermerna söks efter mot resultatet av underfrågan.
visningsnamn URL-kodad sträng Namnet på den aktuella sökningen.

 

Windows Vista med SP1-användning av search: protocol

Windows Vista med SP1 har flera startpunkter från vilka det anropar sökning och protokoll. Dessa startpunkter beskrivs nedan samt den gemensamma syntax som är associerad med var och en.

Sökprotokollets startpunkt Plats Sökfråga kallad
Sök överallt Starta-menyn search:query=<Sökterm>
Sök överallt Windows Utforskaren search:query=<Search Term>&crumb=location:<LOCATION>
Windows-logotypnyckel+F Någonstans söka:
CTRL+F Windows Utforskaren search:query=<Search Term>&crumb=location:<LOCATION>
F3 Starta-menyn söka:
F3 Utforskaren i Windows search:query=<Search Term>&crumb=location:<LOCATION>

 

Startpunkterna för Windows Vista med SP1-sökprotokoll utnyttjar inte alla möjliga parametrar i sökprotokollet. Program som endast hanterar sökprotokollanrop från Windows Vista med SP1 kan använda följande tabell som en guide till det minimum som de behöver implementera.

Parameter Används av Windows? Så här använder Windows Vista med SP1 det när du anropar sökning:
fråga Ja Frågetexten som angetts av användaren.
smula Ja smulor använder argumentet location för att ange var frågan kommer ifrån.
delbegäran Ja Resultatet av argumentet Subquery används som sökomfång. Detta skulle vanligtvis användas om en användare använde en .search-ms-fil för att söka och sedan anropade standardprogrammet för skrivbordssökning inifrån sökningen.
inputlocale Nej Används inte för närvarande.
nyckelordlokal Nej Används inte för närvarande.
syntax Nej Används inte för närvarande.
staplade av Nej Används inte för närvarande.
visningsnamn Nej Används inte för närvarande.

 

Exempel

Om en användare anger "Microsoft" på menyn Starta och klickar på Sök överalltgörs det resulterande anropet till sökprotokollet:

search:query=microsoft&

Om en användare anger "Seattle" i Utforskaren i C:\MyFolder och sedan klickar på Sök överallt, görs följande anrop med escape-tecken för ":" och "\":

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

Registrera programmet som hanterar protokollet

Eftersom flera program kan kämpa för sökprotokollet bör du registrera ditt program med funktionen standardprogram under installationen så att användaren enklare kan konfigurera standardinställningen. Förutom de installationsprocedurer som normalt används under Windows XP måste ett Windows Vista-baserat program registrera sig med funktionen Standardprogram så att programmet och användarna sömlöst kan konfigurera standardvärden.

När du har installerat nödvändiga binära filer på användarens dator bör installationsrutinen utföra följande allmänna uppgifter:

  1. Skriv ProgID:er till HKEY_LOCAL_MACHINE, enligt beskrivningen nedan. Observera att program måste skapa programspecifika ProgID:er för sökprotokollet.
  2. Begär maskinnivåanslutning för sökprotokoll.
  3. Registrera applikationen med Standardprogram, enligt beskrivningen i Registrera program för användning med Standardprogram, som en kandidat för sökprotokollet.

Registerposter

Följande är exempel på de registerposter som krävs för ett fiktivt skrivbordssökningsprogram, 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"

Avancerad frågesyntax

Standardprogram