Partager via


Inscrire des programmes avec types de client

Cette rubrique explique comment inscrire un programme dans le Registre Windows comme l’un des types de client suivants : navigateur, courrier, lecture multimédia, messagerie instantanée ou machine virtuelle pour Java.

Remarque

Ces informations s’appliquent aux systèmes d’exploitation suivants :

  • Windows 2000 Service Pack 3 (SP3)
  • Windows 2000 Service Pack 4 (SP4)
  • Windows XP Service Pack 1 (SP1)
  • Windows XP Service Pack 2 (SP2)
  • Windows XP Service Pack 3 (SP3)
  • Windows Server 2003
  • Windows Vista
  • Windows Vista Service Pack 1 (SP1)
  • Windows 8

 

Cette rubrique contient les sections suivantes.

Cette rubrique prolonge la documentation existante sur l’inscription d’un programme comme type de client particulier. Pour obtenir des liens vers cette documentation, consultez la section Rubriques connexes.

Éléments d’inscription courants pour tous les types de client

Lors de l’inscription d’un programme comme type de client, la plupart des entrées de Registre sont identiques, quel que soit le type de client. Toutefois, certaines entrées de Registre sont spécifiques au type de client et celles-ci sont notées dans la section Éléments d’inscription pour des types de client spécifiques.

Cette section décrit les rubriques suivantes :

Remarque

Les noms de sous-clés donnés en italique dans cette rubrique sont des espaces réservés pour les noms de sous-clé définis par les utilisateurs ou pour un ensemble de valeurs possibles. Des exemples complets, avec des exemples de noms en place, sont fournis dans la section Exemples d’inscriptions complets.

 

Toutes les informations d’inscription de type de client sont stockées sous la sous-clé suivante :

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName

ClientTypeName est l’un des noms de sous-clé suivants :

  • StartMenuInternet (pour les navigateurs)
  • Courrier (pour le courrier électronique)
  • Média (pour la lecture multimédia)
  • MI (pour la messagerie instantanée)
  • JavaVM (pour les machines virtuelles pour Java)

Tout au long de cette rubrique, vous remarquerez des références à un programme informatique fictif nommé « Lit View » par Litware Inc., avec un fichier exécutable nommé Litview.exe. Ce programme hypothétique est utilisé de façon interchangeable comme messager instantané, navigateur ou autre type de programme client selon les besoins, à des fins d’illustration.

Sélectionner un nom canonique

Le fournisseur doit choisir un nom canonique pour le programme. Le nom canonique n’est jamais présenté aux utilisateurs. Il n’a donc pas besoin d’être localisé. Son seul objectif est de fournir une chaîne unique qui peut être utilisée pour identifier le programme. Il est généralement identique au nom anglais du programme, mais il ne s’agit que d’une convention.

Pour les types de client autres que les navigateurs, le nom canonique peut être n’importe quelle chaîne. Choisissez un nom unique, qui n’est pas susceptible d’être utilisé par un autre fournisseur.

Pour les clients navigateur, le nom canonique doit être le nom (y compris l’extension) de l’exécutable associé, soit « Litview.exe » dans ce cas.

Voici quelques exemples de noms canoniques.

  • Iexplore.exe (navigateur)
  • Windows Mail (courrier)
  • Lecteur multimédia Windows (multimédia)
  • Windows Messenger (messagerie instantanée)

Inscrivez le nom canonique en créant une sous-clé comme indiqué ici. Le nom de la sous-clé est le nom canonique. Toutes les informations relatives à l’inscription de ce programme existeront sous cette sous-clé.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName

Inscrire le nom d’affichage d’un programme

L’étape suivante de l’inscription consiste à spécifier le nom d’affichage du programme. Il est donné comme valeur sous la clé de nom canonique, comme indiqué ici. Notez à nouveau que CanonicalName et ClientTypeName ne sont pas les noms réels des clés, mais uniquement les espaces réservés pour les vrais noms, comme Lit View.

Remarque

À compter de Windows 8, le nom utilisé pour s’inscrire à Définir l’accès au programme et les paramètres par défaut de l’ordinateur (Set Access and Computer Defaults/SPAD) et à Programmes par défaut doit correspondre afin que les modifications SPAD déclenchent les inscriptions des programmes par défaut.

 

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               LocalizedString = @FilePath,-StringID

La valeur LocalizedString est une chaîne REG_SZ et se compose d’un signe « at » (@), du chemin d’accès complet à un fichier .dll ou .exe, une virgule, un signe moins et un entier décimal. L’entier décimal est l’ID d’une ressource de chaîne, contenue dans le fichier .dll ou .exe, dont la valeur doit être affichée aux utilisateurs comme nom de ce client. Notez que le chemin d’accès au fichier ne nécessite pas de guillemets, même s’il contient des espaces.

L’inscription de la chaîne de nom d’affichage de cette façon permet d’utiliser la même inscription pour plusieurs langues. Chaque installation de langue fournit un fichier de ressources différent avec le nom d’affichage stocké sur le même ID de ressource.

L’exemple suivant montre l’inscription d’un programme de messagerie instantanée Lit View fictif. S’agissant d’un programme de messagerie instantanée, la sous-clé CanonicalName (dans ce cas Lit View) est stockée sous la sous-clé MI.

HKEY_LOCAL_MACHINE
   Software
      Clients
         IM
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123

Notez l’utilisation de l’entrée (par défaut) comme déclaration secondaire du nom d’affichage du client. Si LocalizedString est absent, la valeur (par défaut) est utilisée à la place. Cela fonctionne avec tous les types de client (navigateurs Internet, navigateurs de courrier, messagers instantanés et lecteurs multimédias). Pour une compatibilité descendante avec la Disposition du Registre du client Internet Explorer, les programmes de courrier doivent définir la valeur (par défaut) de la sous-clé CanonicalName sur le nom d’affichage du client dans la langue actuellement installée.

Inscrire l’icône d’un programme

Remarque

Cette section ne s’applique pas à Windows 2000.

 

Par défaut, la section supérieure du menu Démarrer de Windows XP et Windows Vista contient des icones Internet et E-mail. Ces icônes ne sont pas présentes dans Windows 7 et les versions ultérieures. Pour les clients navigateur et de courrier , lorsqu’un programme est attribué comme paramètre par défaut pour son type de client, l’icône inscrite de ce programme s’affiche pour ces entrées du menu Démarrer.

Inscrire l’icône d’un programme est obligatoire pour les clients navigateur et de courrier. L’inscription d’une icône pour les types de client lecture multimédia, messagerie instantanée ou machine virtuelle Java est facultative et les icônes inscrites pour ces types de client ne sont actuellement pas utilisées par Windows et ne sont pas affichées dans la section supérieure des menus Démarrer de Windows XP ou de Windows Vista.

Pour inscrire une icône pour un programme client, ajoutez une sous-clé DefaultIcon avec une valeur par défaut, comme indiqué ici.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               DefaultIcon
                  (Default) = FilePath,IconIndex

La valeur FilePath est le chemin d’accès complet du fichier qui contient l’icône. Ce chemin d’accès ne nécessite pas de guillemets, même s’il contient des espaces.

La valeur IconIndex est interprétée comme suit :

  • Si IconIndex est un nombre positif, celui-ci est utilisé comme index du tableau d’icônes de base zéro stocké dans le fichier. Par exemple, si IconIndex est 1, la deuxième icône est chargée depuis le fichier.
  • Si IconIndex est un nombre négatif, la valeur absolue de IconIndex est utilisée comme identificateur de ressource (plutôt que l’index) pour l’icône. Par exemple, si IconIndex est -3, l’icône dont l’identificateur de ressource est 3 est chargé depuis le fichier.

L’exemple suivant montre l’inscription d’un navigateur Lit View hypothétique. La deuxième icône stockée dans le fichier Litview.exe est utilisée comme valeur par défaut.

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\Litview.exe,1

Inscrire un verbe ouvert

Remarque

Cette section ne s’applique pas à Windows 2000. L’étape suivante est nécessaire pour les clients navigateur et de courrier uniquement.

 

Supposons que des utilisateurs ont sélectionné votre programme comme programme Internet ou de courrier par défaut. Ces utilisateurs cliquent sur l’icône Internet ou Courrier dans le menu Démarrer de Windows XP ou de Windows Vista pour ouvrir le programme. À ce stade, la ligne de commande inscrite comme indiqué ici est exécutée.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               shell
                  open
                     command
                        (Default) = command line

La ligne de commande doit spécifier un chemin d’accès complet qualifié au fichier, suivi d’options de ligne de commande facultatives. Si le type d’entrée est REG_EXPAND_SZ, les variables d’environnement peuvent être utilisées dans le chemin d’accès. Utilisez les guillemets de manière appropriée pour vous assurer que les espaces dans la ligne de commande ne sont pas mal interprétés. La ligne de commande doit exécuter le programme avec les paramètres par défaut appropriés. Les navigateurs pointent généralement par défaut sur la page d’accueil des utilisateurs. Les programmes de courrier ouvrent généralement la boîte de réception des utilisateurs.

L’exemple suivant montre l’inscription d’un verbe open pour un navigateur Lit View hypothétique. Il ne spécifie aucune option de ligne de commande.

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               shell
                  open
                     command
                        (Default) = "C:\Program Files\LitwareInc\Litview.exe"

Notez que dans cette valeur, les guillemets sont placés autour du chemin d’accès, car il contient des espaces incorporés. L’omission de ces guillemets peut entraîner une erreur d’interprétation de la ligne de commande.

Inscrire les informations d’installation

Remarque

Cette section ne s’applique pas à Windows Server 2003.

 

La fonctionnalité par laquelle les utilisateurs sélectionnent les programmes par machine par défaut est nommée et elle est accessible comme indiqué dans le tableau suivant. (Windows Vista a introduit une nouvelle fonctionnalité, Définir vos programmes par défaut, par laquelle les utilisateurs peuvent définir leurs paramètres par défaut.)

Système d'exploitation Titre Emplacement d’accès
Windows 7 Définir l’accès au programme et les paramètres par défaut de l’ordinateur
  • Menu Démarrer Option Programmes par défaut
  • Élément du panneau de configuration Programmes par défaut
Windows Vista Définir l’accès au programme et les paramètres par défaut de l’ordinateur
  • Menu Démarrer Option Programmes par défaut
  • Élément du panneau de configuration Programmes par défaut
Windows XP SP2 Définir l’accès au programme et les paramètres par défaut
  • Menu Démarrer
  • Élément du panneau de configuration Ajouter ou supprimer des programmes
Windows XP SP1 Configurer des programmes
  • Élément du panneau de configuration Ajouter ou supprimer des programmes

 

Par souci de simplicité, cette rubrique utilise le nom Windows 7 de la fonctionnalité. Toutes les versions de la fonctionnalité sont couramment appelées SPAD.

Remarque

Si vous exécutez Windows 2000 ou Windows XP, vous devez avoir au moins Windows 2000 SP3 ou Windows XP SP1 installé pour afficher la page Définir l’accès au programme et les paramètres par défaut. Dans Windows Vista et les versions ultérieures, l’accès à la page Définir l’accès au programme et les paramètres par défaut de l’ordinateur nécessite des privilèges d’administrateur. Pour cette raison, les développeurs sont encouragés à s’inscrire à l’élément du panneau de configuration Définir vos programmes par défaut afin que tous les utilisateurs puissent gérer les paramètres par défaut de l’application.

 

L’arborescence de Registre suivante montre la variété d’informations qui doivent être inscrites dans la clé InstallInfo du programme afin que celui-ci apparaisse sur la page Définir l’accès au programme et les paramètres par défaut de l’ordinateur comme option pour son type de client. Chacune de ces valeurs est expliquée en détail dans les sections suivantes.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  HideIconsCommand = command line
                  ReinstallCommand = command line
                  ShowIconsCommand = command line
                  IconsVisible = 1

La ligne de commande doit spécifier un chemin d’accès complet qualifié au fichier, suivi d’options de ligne de commande facultatives. Utilisez les guillemets de manière appropriée pour vous assurer que les espaces dans la ligne de commande ne sont pas mal interprétés.

Commande Réinstaller

La ligne de commande de réinstallation déclarée dans la valeur ReinstallCommand est exécutée lorsque les utilisateurs utilisent la page Définir l’accès au programme et les paramètres par défaut de l’ordinateur par défaut pour sélectionner votre programme comme valeur par défaut pour leur type de client. Dans Windows Vista et les versions ultérieures, l’accès à cette page nécessite un niveau de privilège Administrateur. Dans Windows 8, si vous avez inscrit votre application à l’aide du même nom pour Définir l’accès au programme et les paramètres de l’ordinateur par défaut et Programmes par défaut, les paramètres par défaut spécifiés dans Programmes par défaut pour cette application seront appliquées aux utilisateurs actifs, et la commande de réinstallation sera exécutée.

Le programme lancé par la ligne de commande de réinstallation doit associer l’application à l’ensemble complet de types de fichier et de protocole que l’application peut gérer. Toutes les applications doivent définir la capacité de gestionnaire dans la commande de réinstallation. Les applications peuvent utiliser la commande de réinstallation pour inscrire la capacité et établir éventuellement un état par défaut. Lorsqu’une application choisit d’implémenter à la fois la capacité et l’état du gestionnaire par défaut dans la commande de réinstallation, elle doit également rétablir tous liens visibles ou raccourcis souhaités. Les points d’entrée visibles que la plupart des applications choisissent sont listés dans la commande Masquer les icônes.

Remarque

Il est vivement recommandé que les applications implémentent la capacité de gestion dans la commande de réinstallation.

 

Une fois le processus de réinstallation terminé, le programme lancé par la ligne de commande de réinstallation doit quitter. Il ne doit pas lancer le programme correspondant et doit simplement inscrire les paramètres par défaut. Par exemple, la commande de réinstallation d’un navigateur ne doit pas ouvrir la page d’accueil des utilisateurs.

Remarque

Pour les clients navigateur et de courrier dans Windows XP et Windows Vista, les applications qui choisissent d’établir à la fois la capacité de gestion et l’état par défaut dans la commande de réinstallation doivent s’inscrire à l’icône correspondante en haut du menu Démarrer. Pour plus d’informations, consultez Inscription du menu Démarrer.

 

Commande Masquer les icônes

La ligne de commande déclarée dans la valeur HideIconsCommand est exécutée lorsque les utilisateurs effacent la zone Activer l’accès à ce programme de la page Définir l’accès au programme et les paramètres par défaut de l’ordinateur. Cette ligne de commande doit masquer tous les points d’accès de votre programme visibles dans l’interface utilisateur. Les directives spécifiques sont de supprimer les raccourcis et les icônes des emplacements suivants :

  • Icônes du bureau
  • Liens du menu Démarrer, y compris Démarrage
  • Liens de la barre de lancement rapide
  • Zone Notifications
  • Menus contextuels
  • Bande de tâches dossier

Cette ligne de commande doit également empêcher les appels automatiques du programme, comme ceux spécifiés dans la clé de Registre Exécuter. Les fournisseurs sont encouragés à implémenter ces directives dans le rappel Masquer l’accès de l’application.

Vous n’avez pas besoin de renoncer à l’inscription (capacité d’application) des types de fichier lorsque les icônes sont masquées. Vous n’avez pas non plus besoin de renoncer à l’état par défaut de l’application pour les types de fichier et de protocole. Cela peut entraîner une expérience utilisateur dégradée lorsque ces types sont rencontrés dans l’interface utilisateur.

Après avoir masqué les icônes, vous devez mettre à jour la valeur de Registre IconsVisible sur 0, comme illustré :

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  IconsVisible = 0

L’entrée IconsVisible est de type REG_DWORD.

Une autre méthode Masquer les icônes dans SPAD

Pour certaines applications héritées, une implémentation complète de Masquer l’accès peut ne pas être pratique. Une méthode alternative qui produit le même effet consiste à désinstaller l’application. La section ci-dessous montre des exemples de comportement et des exemples de code pour implémenter cette alternative. En règle générale, les éditeurs de logiciels indépendants (ISV) doivent éviter cette alternative, car elle va :

  • Désinstaller complètement l’application du système.
  • Supprimer les paramètres par défaut précédemment sélectionnés.
  • Ne laisser aucune option d’interface utilisateur pour réinstaller l’application.
  • Rendre la fonctionnalité d’activation de l’accès indisponible, car une désinstallation supprime complètement l’application de SPAD.

L’expérience utilisateur recommandée est la suivante :

  • Lorsque l’utilisateur désactive la case Activer l’accès à ce programme dans SPAD, l’interface utilisateur suivante est présentée.

    boîte de dialogue sur la masquage de l’accès au programme

  • Lorsque les utilisateurs sélectionnent OK, l’élément Programmes et fonctionnalités du panneau de configuration se lance pour leur permettre de désinstaller l’application.

  • Cette boîte de dialogue doit être présentée aux utilisateurs Windows XP.

    boîte de dialogue Windows xp équivalente

  • Lorsque les utilisateurs Windows XP sélectionnent OK, l’élément Ajouter ou supprimer des programmes du panneau de configuration se lance pour leur permettre de désinstaller l’application.

Le code suivant fournit une implémentation réutilisable pour la fonctionnalité Masquer l’accès, comme exposé ci-dessus. Il peut être utilisé sur Windows XP, Windows Vista et Windows 7.

#include <windows.h>
#include <shlwapi.h>
#include <strsafe.h>

PCWSTR c_pszMessage1 = L"To hide access to this program, you need to uninstall it by ";
PCWSTR c_pszMessage2 = L"using\n%s in Control Panel.\n\nWould you like to start %s?";
PCWSTR c_pszApplicationName  = L"Sample App";

int _tmain(int argc, WCHAR* argv[])
{
    OSVERSIONINFO version;
    version.dwOSVersionInfoSize = sizeof(version);

    if (GetVersionEx(&version))
    {
        PCWSTR pszCPLName = NULL;

        if (version.dwMajorVersion >= 6)
        {
            // Windows Vista and later
            pszCPLName = L"Programs and Features";
        }
        else if (version.dwMajorVersion == 5 &&
                 version.dwMinorVersion == 1)
        {
            // Windows XP
            pszCPLName = L"Add/Remove Programs";
        }

        if (pszCPLName != NULL)
        {
            WCHAR szMessage[256], szScratch[256];
            if (SUCCEEDED(StringCchPrintf(szScratch, 
                                          ARRAYSIZE(szScratch), 
                                          c_pszMessage2, 
                                          pszCPLName, 
                                          pszCPLName)))
            {
                if (SUCCEEDED(StringCchCopy(szMessage, 
                                            ARRAYSIZE(szMessage), 
                                            c_pszMessage1)))
                {
                    if (SUCCEEDED(StringCchCat(szMessage, 
                                               ARRAYSIZE(szMessage), 
                                               szScratch)))
                    {
                        if (IDOK == MessageBox(NULL, 
                                               szMessage, 
                                               c_pszApplicationName, 
                                               MB_OKCANCEL))
                        {
                            ShellExecute(NULL, 
                                         NULL, 
                                         L"appwiz.cpl", 
                                         NULL, 
                                         NULL, 
                                         SW_SHOWNORMAL);
                        }
                    }
                }
            }
        }
    }
    return 0;
}

Commande Afficher les icônes

La ligne de commande déclarée dans l’entrée ShowIconsCommand est exécutée lorsque les utilisateurs cochent la case Activer l’accès à ce programme de la page Définir l’accès au programme et les paramètres par défaut de l’ordinateur. Cette ligne de commande peut restaurer les points d’accès de votre programme, y compris ceux du menu Démarrer, sur le bureau et dans le groupe Démarrage, ainsi que les appels automatiques normaux, comme ceux spécifiés dans la clé de Registre Exécuter. Les points d’accès visibles qui intéressent la plupart des applications sont listés dans la commande Masquer les icônes. L’application ne doit pas changer les paramètres par défaut par utilisateur. Cette modification doit être effectuée par les utilisateurs via Programmes par défaut.

Une fois vos icônes affichées, vous devez mettre à jour la valeur de Registre IconsVisible sur 1, comme illustré :

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  IconsVisible = 1

Notez que si vous avez utilisé l’entrée HideIconsCommand pour inviter une désinstallation de l’application, l’entrée ShowIconsCommand n’est pas utile. Elle doit être supprimée du Registre avec le reste des informations de l’application pendant le processus de désinstallation.

Configuration de programme de groupe

Remarque

Cette section ne s’applique pas à Windows 2000.

 

Dans le cadre de la préparation du système, un OEM peut définir une configuration qui masque les points d’accès des programmes client Microsoft navigateur, courrier, lecture multimédia, messagerie instantanée ou machine virtuelle Java et spécifie ses propres programmes par défaut. Les OEM peuvent permettre aux utilisateurs de réinitialiser leurs ordinateurs à tout moment à cette configuration par défaut en définissant les valeurs de Registre suivantes.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  OEMShowIcons = 1
                  OEMDefault = 1

Si ces clés sont définies, les utilisateurs peuvent restaurer la configuration OEM en sélectionnant l’option Fabricant de l’ordinateur de la page Définir l’accès au programme et les paramètres par défaut de l’ordinateur. Si ces clés ne sont pas définies, l’option Fabricant de l’ordinateur n’est pas affichée.

L’entrée OEMShowIcons, le cas échéant, définit l’état d’affichage de l’icône pour le client spécifié qui est appliqué si les utilisateurs sélectionnent Fabricant de l’ordinateur. La valeur 1 entraîne l’affichage des icônes et la valeur 0 entraîne leur masquage. Si OEMShowIcons est absent, sélectionner Fabricant de l’ordinateur n’a aucun effet sur le paramètre d’affichage d’icône. OEMShowIcons est de type REG_DWORD.

L’entrée OEMDefault, le cas échéant et définie sur 1, établit la préférence OEM pour le client par défaut du type indiqué. Seul un client de type particulier peut être marqué comme étant par défaut OEM. Si l’inscription de plusieurs clients contient l’entrée OEMDefault, toutes sont ignorées et le client actif continue d’être utilisé comme client par défaut. Si l’entrée OEMDefault n’est pas présente, ou est présente et définie sur 0, alors ce client particulier n’est pas utilisé comme client par défaut si les utilisateurs sélectionnent Fabricant de l’ordinateur. OEMDefault est de type REG_DWORD.

Outre l’option de réinitialisation de leurs ordinateurs à la configuration par défaut définie par l’OEM, les utilisateurs ont trois autres options de configuration :

  • Définir leur ordinateur sur une configuration Microsoft Windows. Dans ce cas, la page Définir l’accès au programme et les paramètres par défaut de l’ordinateur permet d’accéder à tous les logiciels Microsoft et non-Microsoft sur l’ordinateur inscrit dans les catégories de produits pertinentes. Les programmes Microsoft Windows sont sélectionnés comme option par défaut pour chaque catégorie.
  • Définir leur ordinateur sur une configuration autre que Microsoft. Cette configuration masque les points d’accès (comme le menu Démarrer) à Windows Internet Explorer, Lecteur multimédia Windows, Windows Messenger et Microsoft Outlook Express. Elle permet d’accéder aux logiciels non-Microsoft sur l’ordinateur dans ces catégories. En outre, si un programme non-Microsoft est disponible dans une catégorie, il est défini comme paramètre par défaut pour cette catégorie. Si plusieurs programmes non-Microsoft sont disponibles dans une catégorie, les utilisateurs sont invités à choisir le programme non-Microsoft à utiliser comme programme par défaut.
  • Définir une configuration personnalisée. Les utilisateurs effectuent leurs propres sélections pour activer ou supprimer l’accès, en mélangeant les programmes Microsoft et non-Microsoft comme cela leur convient. Les utilisateurs définissent des options par défaut sur une base catégorie par catégorie.

Les utilisateurs sont libres de modifier l’une quelconque de ces options à tout moment.

Exemple d’inscription de navigateur

L’exemple suivant montre l’inscription InstallInfo complète pour un navigateur Lit View fictif. Dans ce cas, les commutateurs de ligne de commande permettent au fichier Litview.exe d’effectuer toute action nécessaire pour chaque valeur.

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\Litview.exe" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\Litview.exe" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\Litview.exe" /showicons
                  IconsVisible = 1

Notez que les guillemets sont placés autour des chemins d’accès, car ils contiennent des espaces incorporés.

Éléments d’inscription pour des types de client spécifiques

Les informations suivantes sont également disponibles dans les ressources listées dans la section Rubriques connexes à la fin de cette rubrique.

Inscription du menu Démarrer

Sous Windows XP, les applications ont généralement des paramètres par défaut enregistrés sur une étendue à l’échelle de l’ordinateur (HKEY_LOCAL_MACHINE) plutôt que sur une étendue utilisateur (HKEY_CURRENT_USER). Avec l’introduction par Windows Vista du contrôle de compte d’utilisateur (User Account Control/UAC), les applications qui réclament les emplacements Internet et Courrier du menu Démarrer doivent implémenter la commande de réinstallation dans le contexte d’exécution approprié.

Remarque

Le lien Courrier du menu Démarrer a été supprimé à partir de Windows 7. Toutefois, l’inscription décrite dans cette section doit toujours être effectuée, car elle affecte le client MAPI par défaut.

 

Les utilisateurs limités sur Windows XP, Windows Vista ou Windows 7 ne peuvent pas accéder à SPAD. Pour cette raison, les développeurs sont encouragés à s’inscrire à l’élément du panneau de configuration Définir vos programmes par défaut afin que tous les utilisateurs puissent gérer les paramètres par défaut par utilisateur de l’application.

Les sélections effectuées dans SPAD ne doivent affecter que les paramètres par ordinateur.

Définissez la valeur de Registre comme suit.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            (Default) = CanonicalName

Remarque

Les informations suivantes s’appliquent uniquement à Windows XP.

Si l’inscription de la valeur par défaut au niveau de l’ordinateur sous HKEY_LOCAL_MACHINE comme illustré ci-dessus réussit, l’application doit supprimer la valeur affectée à l’entrée par défaut sous la sous-clé suivante :

HKEY_CURRENT_USER
   SOFTWARE
      Clients
         ClientTypeName

Si l’inscription de la valeur par défaut au niveau de l’ordinateur sous HKEY_LOCAL_MACHINE comme illustré ci-dessus échoue, généralement parce que les utilisateurs n’ont pas l’autorisation d’écriture sur la sous-clé, l’application doit définir la valeur suivante :

HKEY_CURRENT_USER
   SOFTWARE
      Clients
         ClientTypeName
            (Default) = CanonicalName

Cela inscrit le nom canonique uniquement pour les utilisateurs actifs, et non pour tous les utilisateurs.

 

Après avoir mis à jour les clés de Registre, le programme doit diffuser le message WM_SETTINGCHANGE avec wParam = 0 et lParam pointant vers la chaîne terminée par null "Software\Clients\ClientTypeName" pour informer le système d’exploitation que le client par défaut a changé.

Inscription du client de courrier

Pour un client de courrier, le programme doit avoir des paramètres inscrits sous la clé HKEY_CLASSES_ROOT\mailto afin de traiter les URL de service qui utilisent le protocole mailto. Définissez des valeurs et des clés qui reflètent ces paramètres sous la clé suivante.

HKEY_LOCAL_MACHINE
   Software
      Clients
         Mail
            CanonicalName
               Protocols
                  mailto

Cette hiérarchie de Registre remplace la hiérarchie de Registre mailto existante trouvée à HKEY_CLASSES_ROOT\mailto. La hiérarchie reste la même, seul l’emplacement a changé. pour plus d’informations concernant le format de cette hiérarchie, consultez la section Présentations et didacticiels du protocole enfichable asynchrone. En règle générale, le protocole mailto est inscrit dans un programme plutôt qu’un protocole asynchrone, auquel cas la documentation sur Inscrire une application à un schéma d’URI s’applique.

L’exemple suivant montre la section mailto de l’inscription pour un gestionnaire mailto inscrit dans un programme.

HKEY_LOCAL_MACHINE
   Software
      Clients
         Mail
            CanonicalName
               Protocols
                  mailto
                     (Default) = URL:MailTo Protocol
                     EditFlags = 02 00 00 00
                     URL Protocol
                     DefaultIcon
                        (Default) = %FilePath%,IconIndex
                     shell
                        open
                           command
                              (Default) = command line

La valeur de Registre EditFlags est documentée dans Types de fichier dans la section intitulée « Définir des attributs de type de fichier ».

Exemples d’inscriptions complets

Les exemples suivants sont fournis pour présenter les exigences d’inscription complètes pour les différents types de client.

Exemple de navigateur

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1
                  shell
                     open
                        command
                           (Default) = "C:\Program Files\LitwareInc\LITVIEW.EXE" /homepage

Exemple de navigateur de courrier

HKEY_LOCAL_MACHINE
   Software
      Clients
         Mail
            Lit View
               (Default) = Lit View
               DLLPath = @C:\Program Files\LItwareInc\LitwareMAPI.dll
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1
               shell
                  open
                     command
                        (Default) = "C:\Program Files\LitwareInc\LITVIEW.EXE" /inbox
               protocols
                  mailto
                     (Default) = URL:MailTo Protocol
                     EditFlags = 02 00 00 00
                     URL Protocol
                     DefaultIcon
                        (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
                     shell
                        open
                           command
                              (Default) = "C:\Program Files\LitwareInc\LITVIEW.EXE" /mailto:%1

Exemple de lecteur multimédia

HKEY_LOCAL_MACHINE
   Software
      Clients
         Media
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1

Exemple de programme Instant Messenger

HKEY_LOCAL_MACHINE
   Software
      Clients
         IM
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1

Exemple de machine virtuelle pour Java

HKEY_LOCAL_MACHINE
   Software
      Clients
         JavaVM
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1

Les exemples de sociétés, d'organisations, de produits, de noms de domaine, d'adresses de messagerie, de logos, de personnes, de lieux et d'événements mentionnés ici sont fictifs. Aucune association avec une société, une organisation, un produit, un nom de domaine, une adresse électronique, un logo, une personne, un lieu ou un événement réel n’est intentionnelle ou ne doit être déduite.

Programmes par défaut

Comment inscrire un client navigateur Internet ou de courrier avec le menu Démarrer de Windows

Disposition du Registre du client Internet Explorer (voir la section « Définitions de clé de Registre client »)

Présentations et didacticiels sur le protocole enfichable asynchrone

Inscription d’une application à un schéma d’URI