Utilisation du protocole de recherche
Le protocole search : application est une convention extensible permettant d'appeler l'application de recherche de bureau sous Windows Vista avec le Service Pack 1 (SP1) et les versions ultérieures. Le protocole a été créé dans Windows Vista avec SP1 pour donner à Windows un moyen de déterminer et d'appeler l'application de recherche de bureau par défaut.
La syntaxe du protocole fournit un certain nombre de paramètres utiles pour effectuer des recherches courantes sur le bureau, tels que les termes de recherche saisis par l'utilisateur ou l'emplacement à partir duquel la recherche a été lancée. Lorsque les utilisateurs effectuent une recherche à partir de l'un des deux points d'entrée disponibles (le menu Démarrer ou l'Explorateur Windows), le système d'exploitation utilise le protocole de recherche pour lancer l'application de recherche par défaut sur le bureau. Pour ce faire, il ajoute les termes de recherche saisis par l'utilisateur à la syntaxe du protocole de recherche standard et transmet ces informations à l'application enregistrée en tant qu'application de recherche par défaut.
Si aucune autre application de recherche de bureau n'est installée, une recherche saisie dans ces points d'entrée lance l'Explorateur de recherche Windows. Toutefois, les développeurs tiers peuvent créer, installer et enregistrer leurs applications pour gérer le protocole de recherche et devenir l'application de recherche par défaut. Ces applications doivent prendre en charge la syntaxe du protocole de recherche et s'enregistrer avec la fonctionnalité Programmes par défaut pour garantir une expérience transparente avec Windows.
Si vous développez une application destinée à utiliser ou à s'appuyer sur une application de recherche de bureau spécifique, vous ne devez pas dépendre exclusivement du protocole search :. Étant donné que de nombreuses applications peuvent posséder le protocole search:, il n'y a aucune garantie que l'application de recherche de bureau que vous visez le possède à un moment donné. Au lieu de cela, vous devez utiliser un protocole de recherche privé défini par l'application de recherche de bureau ciblée. Cela signifie que les applications de recherche de bureau destinées à servir de plate-forme pour des applications tierces doivent prendre en charge à la fois le protocole search: et leur propre protocole de recherche propriétaire.
Remarque
Le protocole search: ne remplace pas le protocole propriétaire search-ms:. Les applications peuvent toujours utiliser le protocole search-ms: pour lancer l'Explorateur de recherche Windows ou pour interroger silencieusement l'indexeur de recherche Windows.
Cette rubrique couvre les sujets suivants :
- Syntaxe
- Utilisation du protocole search: par Windows Vista avec SP1
- Exemples
- Enregistrement de l'application qui gère le protocole
- Rubriques connexes
Syntaxe
Le protocole de recherche utilise la syntaxe standard suivante, codée en URL :
search:parameter=value[¶meter=value]&
La syntaxe commence par l'identification du protocole lui-même (search:). Les paires paramètre/valeur sont des arguments transmis au moteur de recherche, comme décrit dans le tableau suivant, qui présente tous les paramètres possibles pour la syntaxe du protocole de recherche.
Paramètre | active | Description |
---|---|---|
query | Texte codé en URL | Le texte de la requête saisi par l'utilisateur. |
inputlocale | Tout identifiant de code de langue (LCID) valide | Le LCID qui identifie la langue d'entrée de la requête. |
keywordlocale | Tout LCID valide | Le LCID qui identifie la langue de la version internationale de l'indexeur. La valeur par défaut est 1033 (en-us). |
crumb | Instruction AQS | Cet argument limite l'étendue de la recherche. Dans Windows Vista, le protocole de recherche prend en charge l'AQS complet ainsi qu'une implémentation spéciale pour un argument location . Dans Windows XP, le protocole de recherche prend également en charge l'intégralité de l'AQS, à l'exception d'une implémentation spéciale de kind et store . |
syntax | NQS, AQS (non sensible à la casse) | Syntaxe de requête à utiliser pour rechercher dans l'index : soit Natural Query Syntax, soit Advanced Query Syntax (AQS). AQS est la syntaxe par défaut et est toujours supposée analysée et prise en charge. |
stackedby | Toute propriété valide du système de propriétés | Une propriété qui spécifie la colonne par laquelle les résultats doivent être empilés. |
subquery | Un chemin d'accès entièrement spécifié pour un fichier de recherche sauvegardé (*.search-ms). | Les résultats de la sous-requête sont utilisés comme source de la requête. En d'autres termes, les termes de la requête sont recherchés dans les résultats de la sous-requête. |
displayname | Chaîne codée en URL | Le nom de la recherche en cours. |
Utilisation du protocole search: par Windows Vista avec SP1
Windows Vista avec SP1 possède plusieurs points d'entrée à partir desquels il appelle le protocole search:. Ces points d'entrée sont décrits ci-dessous, ainsi que la syntaxe commune associée à chacun d'entre eux.
Point d'entrée du protocole de recherche | Emplacement | Requête appelée |
---|---|---|
Recherche partout | Menu Démarrer | search:query=<Search Term> |
Recherche partout | Explorateur Windows | search:query=<Search Term>&crumb=location:<LOCATION> |
Touche Windows + F | N’importe où | recherche : |
Ctrl+F | Explorateur Windows | search:query=<Search Term>&crumb=location:<LOCATION> |
F3 | Menu Démarrer | recherche : |
F3 | Explorateur Windows | search:query=<Search Term>&crumb=location:<LOCATION> |
Les points d'entrée du protocole de recherche de Windows Vista avec SP1 n'exploitent pas tous les paramètres possibles du protocole de recherche. Les applications qui ne s'intéressent qu'au traitement des appels au protocole de recherche de Windows Vista avec SP1 peuvent utiliser le tableau suivant comme guide pour le minimum qu'elles doivent mettre en œuvre.
Paramètre | Utilisé par Windows ? | Comment Windows Vista avec SP1 l'utilise lors de l'appel du protocole de recherche : |
---|---|---|
query | Oui | Le texte de la requête saisi par l'utilisateur. |
crumb | Oui | crumb utilise l'argument location pour spécifier l'origine de la requête. |
subquery | Oui | Les résultats de l'argument Sous-requête sont utilisés comme champ d'application des éléments à rechercher. Cette méthode est généralement utilisée lorsqu'un utilisateur utilise un fichier .search-ms pour effectuer une recherche et qu'il appelle ensuite l'application de recherche de bureau par défaut à partir de cette recherche. |
inputlocale | Non | Pas utilisé pour l'instant. |
keywordlocale | Non | Pas utilisé pour l'instant. |
syntax | Non | Pas utilisé pour l'instant. |
stackedby | Non | Pas utilisé pour l'instant. |
displayname | Non | Pas utilisé pour l'instant. |
Exemples
Si un utilisateur saisit « Microsoft » dans le menu Démarrer et clique sur Rechercher partout, l'appel au protocole de recherche qui en résulte est effectué :
search:query=microsoft&
Si un utilisateur saisit « Seattle » dans l'Explorateur Windows dans C:\NMyFolder et qu'il clique ensuite sur Search Everywhere, l'appel suivant est effectué, en utilisant des caractères d'échappement pour ':' et '\N' :
search:query=seattle&crumb=location:C%3A%5CMyFolder
Enregistrement de l'application qui gère le protocole
Étant donné que plusieurs applications peuvent se disputer le protocole de recherche, vous devez enregistrer votre application avec la fonctionnalité Programmes par défaut lors de l'installation afin de permettre à l'utilisateur de configurer plus facilement la valeur par défaut. En plus des procédures d'installation normalement pratiquées sous Windows XP, une application basée sur Windows Vista doit s'enregistrer avec la fonctionnalité Programmes par défaut afin que l'application et les utilisateurs puissent configurer les valeurs par défaut de manière transparente.
Après avoir installé les fichiers binaires nécessaires sur l'ordinateur de l'utilisateur, votre routine d'installation doit effectuer les tâches générales suivantes :
- Inscrivez les ProgID dans HKEY_LOCAL_MACHINE, comme décrit ci-dessous. Notez que les applications doivent créer des ProgID spécifiques pour le protocole de recherche.
- Réclamez l'association du protocole de recherche au niveau de la machine.
- Enregistrez l'application dans les programmes par défaut, comme expliqué dans la section Enregistrement d'une application pour utilisation avec les programmes par défaut, en tant que candidat au protocole de recherche.
Entrées de Registre
Vous trouverez ci-dessous des exemples d'entrées de registre requises pour une application fictive de recherche de bureau, 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"
Rubriques connexes