Compartilhar via


Uso do protocolo search

O protocolo de aplicativo search: é uma convenção extensível para chamar o aplicativo de pesquisa de desktop no Windows Vista com Service Pack 1 (SP1) e versões posteriores. O protocolo foi criado no Windows Vista com SP1 para fornecer ao Windows uma maneira de determinar e chamar o aplicativo de pesquisa de área de trabalho padrão.

A sintaxe do protocolo fornece vários parâmetros úteis para realizar pesquisas comuns na área de trabalho, como termos de pesquisa inseridos pelo usuário ou o local em que a pesquisa foi iniciada. Quando os usuários pesquisam em um dos dois pontos de entrada de pesquisa disponíveis (o menu Iniciar ou o Windows Explorer), o sistema operacional usa o protocolo de pesquisa para iniciar o aplicativo de pesquisa de área de trabalho padrão. Ele faz isso adicionando os termos de pesquisa inseridos pelo usuário à sintaxe do protocolo de pesquisa padrão e passando essas informações para o aplicativo registrado como o aplicativo de pesquisa padrão.

Se nenhum outro aplicativo de pesquisa da área de trabalho estiver instalado, uma pesquisa inserida nesses pontos de entrada iniciará o Windows Search Explorer. No entanto, desenvolvedores de terceiros podem criar, instalar e registrar seus aplicativos para lidar com o protocolo de pesquisa e ser o aplicativo de pesquisa padrão. Esses aplicativos precisam dar suporte à sintaxe do protocolo de pesquisa e se registrar no recurso Programas Padrão para garantir uma experiência perfeita com o Windows.

Se você desenvolver um aplicativo que se destina a usar ou criar um aplicativo de pesquisa de desktop específico, não deverá depender exclusivamente do protocolo search:. Como muitos aplicativos podem possuir o protocolo search:, não há garantia de que seu aplicativo de pesquisa de área de trabalho de destino o possuirá a qualquer momento. Em vez disso, você deve usar um protocolo de pesquisa privado definido por esse aplicativo de pesquisa de área de trabalho direcionado. Isso significa que os aplicativos de pesquisa da área de trabalho destinados a ser uma plataforma para aplicativos de terceiros devem oferecer suporte ao protocolo search: e ao seu próprio protocolo de pesquisa proprietário.

Observação

O protocolo search: não substitui o protocolo proprietário search-ms:. Os aplicativos ainda podem usar o protocolo search-ms: para iniciar o Window Search Explorer ou consultar silenciosamente o indexador do Windows Search.

 

Este tópico aborda o seguinte:

Sintaxe

O protocolo de pesquisa usa a seguinte sintaxe codificada por URL padrão:

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

A sintaxe começa identificando o próprio protocolo (search:). Os pares parâmetro/valor são argumentos passados para o mecanismo de pesquisa, conforme descrito na tabela a seguir, que mostra todos os parâmetros possíveis para a sintaxe do protocolo de pesquisa.

Parâmetro Valor Descrição
consulta Texto codificado da URL O texto da consulta inserido por um usuário.
inputlocale Qualquer identificador de código de linguagem (LCID) válido O LCID que identifica a linguagem de entrada para a consulta.
keywordlocale Qualquer LCID válido O LCID que identifica a linguagem da versão internacional do Indexador. O padrão é 1033 (en-us).
crumb Instrução AQS Esse argumento restringe o escopo que está sendo pesquisado. No Windows Vista, o protocolo de pesquisa dá suporte a AQS completo, bem como a uma implementação especial para um argumento location. No Windows XP, o protocolo de pesquisa também oferece suporte a AQS completo, exceto por uma implementação especial de kind e store.
sintaxe NQS, AQS (não diferencia maiúsculas de minúsculas) A sintaxe de consulta a ser usada para pesquisar o índice: Sintaxe de Consulta Natural ou Sintaxe de Consulta Avançada (AQS). AQS é o padrão e é sempre assumido analisado e suportado.
stackedby Qualquer propriedade válida do sistema de propriedades Uma propriedade que especifica a coluna pela qual empilhar resultados.
subquery Um caminho totalmente especificado para um arquivo de pesquisa salvo (*.search-ms) Os resultados da subconsulta são usados como a origem da consulta. Ou seja, os termos de consulta são pesquisados em relação aos resultados da subconsulta.
displayname Cadeia de caracteres codificada em URL O nome da pesquisa atual.

 

Windows Vista com SP1 uso do protocolo search:

O Windows Vista com SP1 tem vários pontos de entrada a partir dos quais ele chama o protocolo search:. Esses pontos de entrada são descritos abaixo, bem como a sintaxe comum associada a cada um.

Ponto de entrada do protocolo de pesquisa Location Consulta chamada
Pesquisar em todos os lugares Menu Iniciar search:query=<Search Term>
Pesquisar em todos os lugares Windows Explorer search:query=<Search Term>&crumb=location:<LOCATION>
Tecla de logotipo do Windows +F Anywhere search:
CTRL+F Windows Explorer search:query=<Search Term>&crumb=location:<LOCATION>
F3 Menu Iniciar search:
F3 Windows Explorer search:query=<Search Term>&crumb=location:<LOCATION>

 

Os pontos de entrada do protocolo de pesquisa do Windows Vista com SP1 não aproveitam todos os parâmetros possíveis no protocolo de pesquisa. Os aplicativos que se preocupam apenas com o tratamento de chamadas de protocolo de pesquisa do Windows Vista com SP1 podem usar a tabela a seguir como um guia para o mínimo que precisam implementar.

Parâmetro Usado pelo Windows? Como o Windows Vista com SP1 o usa ao chamar a pesquisa:
consulta Sim O texto da consulta inserido por um usuário.
crumb Sim crumb usa o location argumento para especificar de onde veio a consulta.
subquery Sim Os resultados do argumento Subquery são usados como o escopo dos itens a serem pesquisados. Isso normalmente seria usado se um usuário estivesse usando um arquivo .search-ms para pesquisar e, em seguida, chamasse o aplicativo de pesquisa de área de trabalho padrão de dentro dessa pesquisa.
inputlocale Não Não usado no momento.
keywordlocale Não Não usado no momento.
sintaxe Não Não usado no momento.
stackedby Não Não usado no momento.
displayname Não Não usado no momento.

 

Exemplos

Se um usuário digitar "Microsoft" no menu Iniciar e clicar em Pesquisar em todos os lugares, a chamada de protocolo de pesquisa resultante será feita:

search:query=microsoft&

Se um usuário digitar "Seattle" no Windows Explorer em C:\MyFolder e clicar em Pesquisar em Todos os Lugares, a seguinte chamada será feita, usando caracteres de escape para ':' e '\':

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

Registrando o aplicativo que manipula o protocolo

Como vários aplicativos podem disputar o protocolo de pesquisa, você deve registrar seu aplicativo com o recurso Programas Padrão durante a instalação para permitir que o usuário configure o padrão com mais facilidade. Além dos procedimentos de instalação normalmente praticados no Windows XP, um aplicativo baseado no Windows Vista deve se registrar no recurso Programas Padrão para que o aplicativo e os usuários possam configurar os padrões sem problemas.

Depois de instalar os arquivos binários necessários no computador do usuário, sua rotina de instalação deve concluir estas tarefas gerais:

  1. Escreva ProgIDs em HKEY_LOCAL_MACHINE, conforme descrito abaixo. Observe que os aplicativos devem criar ProgIDs específicos do aplicativo para o protocolo de pesquisa.
  2. Reivindique a associação de protocolo de pesquisa no nível do computador.
  3. Registre o aplicativo com Programas Padrão, conforme explicado em Registrando um Aplicativo para Uso com Programas Padrão, como um concorrente para o protocolo de pesquisa.

Entradas do Registro

Veja a seguir exemplos das entradas do Registro necessárias para um aplicativo de pesquisa de área de trabalho fictício, o 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"

Sintaxe de consulta avançada

Programas padrão