Recherche de chaînes redirigées

Cette rubrique décrit les instructions de programmation pour localiser les chaînes de Registre redirigées. Pour plus d’informations, consultez utilisation de la redirection de chaîne de Registre.

Charger une valeur de Registre Language-Neutral

sur Windows Vista et versions ultérieures, l’application MUI utilise une valeur de registre indépendante du langage pour autoriser l’accès aux chaînes spécifiques à la langue stockées dans une table de ressources de type chaîne. Pour plus d’informations, consultez créer une ressource Language-Neutral dans utilisation de la redirection de chaînes de Registre.

Le code d’application qui lit la valeur neutre dans le langage du registre doit charger les chaînes dans la langue d’interface utilisateur appropriée en appelant RegLoadMUIStringW. Si vous utilisez cette fonction, votre application n’a pas à gérer explicitement le chargement des ressources.

Si vous mettez à jour une application existante à l’aide de la langue indépendante du Registre, vous conservez généralement les valeurs de chaîne existantes, localisées en anglais ou dans une autre langue dans le registre, comme des secours et une compatibilité descendante. Le fait de conserver une chaîne littérale dans le registre permet à l’application de revenir à la chaîne littérale en cas d’échec d’un appel à RegLoadMUIStringW . Vous devez décider comment implémenter ce type de secours, car MUI n’offre aucune prise en charge pour une telle implémentation.

Utiliser l’API Shell pour définir des chaînes de raccourci à partir du Registre

Votre application peut utiliser l’API Shell pour créer des chaînes pour les raccourcis qui lient des fichiers ou des dossiers dans le menu Démarrer ou sur le bureau. Pour plus d’informations, consultez créer des ressources pour les chaînes de raccourci dans utilisation de la redirection de chaînes de Registre.

L’application peut utiliser SHSetLocalizedName pour charger le nom complet compatible MUI pour un raccourci. Elle doit utiliser IShellLink :: SetDescription pour définir l’info-bulle associée. Les appels inscrivent les chaînes avec le registre. Prenons les exemples suivants, pour lesquels « HKCR » représente la _ clé de _ Registre racine de classes HKEY :

HKCR,"CLSID\%CLSID_AntiSpyware%",,,"Windows AntiSpyware"

HKCR,"CLSID\%CLSID_AntiSpyware%","LocalizedString",,"@%ProgramFiles%\Windows AntiSpyware\MSASCui.exe,-104"

HKCR,"CLSID\%CLSID_AntiSpyware%","InfoTip",,"@%ProgramFiles%\Windows AntiSpyware\MSASCui.exe,-208"

La première ligne fournit une chaîne littérale non localisée pour la compatibilité descendante et de secours. La deuxième ligne montre la méthode compatible MUI pour inscrire le nom complet. cette ligne indique l’identificateur de chaîne 104 stocké dans Msascui.exe (pour Windows XP) ou dans son fichier spécifique à la langue (pour Windows Vista). Cet identificateur de chaîne correspond à « Favoris réseau ». La troisième ligne de l’exemple gère l’inscription de l’info-bulle. % CLSID _ antispyware% spécifie une variable d’environnement représentant le GUID qui correspond à l’identificateur de classe de ce composant.

pour l’exemple ci-dessus, l’application appelle SHSetLocalizedName pour spécifier le chemin d’accès de l’exécutable pour les deux premiers paramètres, et spécifie idsRes comme « @% ProgramFiles% \ Windows antispyware \MSASCui.exe, 104 ». un appel à IShellLink :: SetDescription, spécifie le chemin d’accès de l’info-bulle sous la forme « @% ProgramFiles% \ Windows antispyware \MSASCui.exe, 208 ».

Rechercher dans le registre des noms de type de document conviviaux

La création de ressources pour les noms de type de document convivial est décrite dans créer des ressources pour des noms de type de document conviviaux dans à l’aide de la redirection de chaîne de Registre. Pour interroger un nom de document convivial, l’application doit utiliser IQueryAssociations :: init, suivi d’un appel à IQueryAssociations :: GetString. L’appel à IQueryAssociations :: init spécifie le type de document, par exemple, « .txt ». L’appel à IQueryAssociations :: GetString doit spécifier ASSOCSTR _ FRIENDLYDOCNAME comme identificateur de chaîne.

Inscrire les chaînes du composant logiciel enfichable Microsoft Management Console non lues dans le registre

Votre application peut utiliser un composant logiciel enfichable MMC (Microsoft Management Console) pour héberger ses tâches de gestion. La plupart des chaînes sont gérées en tant que ressources à l’aide des paramètres du registre décrits dans créer des ressources de type chaîne pour Microsoft Management Console Snap-Ins dans utilisation de la redirection de chaînes de Registre. Toutefois, certains composants logiciels enfichables inscrivent les valeurs de chaîne de registre que MMC ne peut pas lire à partir du Registre. Dans ce cas, le composant logiciel enfichable doit obtenir les valeurs à l’aide de l’interface ISnapinAbout , qui est compatible avec mui.

définir le nom complet et la Description d’un Service Windows à partir du registre

si votre application MUI utilise un service Windows, elle doit afficher le nom et la description de l’affichage du service. les ressources associées sont décrites dans « créer des ressources de type chaîne pour un Service Windows » dans utilisation de la redirection de chaînes de registre.

Pour définir le nom d’affichage du service, l’application MUI appelle CreateService ou ChangeServiceConfig. Le nom est une chaîne au format " @<PE-path>,-<stringID>[;<comment>] ". Par exemple, si votre service est implémenté par un fichier .dll avec le chemin d’accès% ProgramFiles% \ % myPath% \MyDll.dll et que l’identificateur de chaîne du nom complet propre à la langue est 347, le paramètre est spécifié comme « @%ProgramFiles%\\%MyPath%\\MyDll.dll,-347 ». Les doubles barres obliques inverses ( \ \ ) sont nécessaires, car C/C++ utilise la barre oblique inverse comme caractère d’échappement dans les chaînes.

Pour définir la description du service spécifique à une langue, l’application MUI doit faire en sorte que le membre lpDescription d’une structure de _ Description de service indique une chaîne de forme « @<PE-path>,-<stringID>[;<comment>] », en référençant l’identificateur de chaîne approprié. L’application appelle ensuite ChangeServiceConfig2 avec le paramètre dwInfoLevel spécifié en tant que _ _ Description de la configuration du service et le paramètre lpInfo spécifié en tant que structure de _ Description du service .

Recherche de ressources Win32 PE

Utilisation de la redirection de chaînes de Registre