Maison >développement back-end >C++ >Comment récupérer des valeurs du registre Windows en utilisant C ?

Comment récupérer des valeurs du registre Windows en utilisant C ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-30 01:25:02672parcourir

How to Retrieve Values from the Windows Registry using C  ?

Lecture des valeurs du registre Windows

Lorsque vous travaillez avec des systèmes Windows, il devient souvent nécessaire d'accéder aux données du registre et de les récupérer. Le registre stocke les paramètres de configuration cruciaux, les préférences utilisateur et les informations relatives aux logiciels. Cet article vous expliquera comment vérifier en toute sécurité si une clé de registre existe et récupérer sa valeur par programme à l'aide de C.

Détermination de l'existence d'une clé de registre

Pour déterminer si une clé de registre existe, appelez RegOpenKeyExW. fonctionner avec le chemin d’accès clé et les autorisations préférées. Si la fonction renvoie ERROR_SUCCESS, la clé existe. S'il renvoie ERROR_FILE_NOT_FOUND, la clé n'existe pas spécifiquement. Sinon, l'existence de la clé ne peut pas être déterminée.

Récupération de la valeur de la clé de registre

Une fois que vous avez confirmé l'existence d'une clé de registre, vous pouvez récupérer sa valeur par programme. La fonction spécifique à utiliser dépend du type de données de la valeur. Les types courants incluent les chaînes, les DWORD et les booléens. Voici comment récupérer chaque type :

Valeur de chaîne :

<code class="c++">std::wstring strValueOfBinDir;
GetStringRegKey(hKey, L"BinDir", strValueOfBinDir, L"bad");</code>

Valeur DWORD :

<code class="c++">DWORD nValue;
LONG nError = GetDWORDRegKey(hKey, L"MyDWORD", nValue, 0);</code>

Valeur booléenne :

<code class="c++">bool bValue;
LONG nError = GetBoolRegKey(hKey, L"MyBool", bValue, false);</code>

N'oubliez pas d'inclure la dépendance de la bibliothèque Advapi32.lib dans votre code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn