Maison  >  Article  >  développement back-end  >  Comment puis-je récupérer et déterminer l’existence de clés de registre sous Windows ?

Comment puis-je récupérer et déterminer l’existence de clés de registre sous Windows ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-31 13:34:02410parcourir

How Can I Retrieve and Determine the Existence of Registry Keys in Windows?

Récupération de valeurs du registre Windows

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

Pour déterminer en toute sécurité l'existence d'une clé de registre, utilisez RegOpenKeyExW fonction avec l’indicateur KEY_READ. Si la fonction renvoie ERROR_SUCCESS, la clé existe ; s'il renvoie ERROR_FILE_NOT_FOUND, la clé n'existe pas.

Récupération de la valeur d'une clé

Pour obtenir par programme la valeur d'une clé de registre, utilisez les API suivantes :

  • GetStringRegKey : Récupère une valeur de chaîne.
  • GetDWORDRegKey : Récupère une valeur DWORD (entier 32 bits).
  • GetBoolRegKey : Récupère une valeur booléenne (Vrai ou Faux).

Ces fonctions prennent le handle de clé et le nom de la valeur à récupérer comme paramètres. Ils renvoient la valeur dans le paramètre de référence fourni.

Exemple de code

L'exemple de code suivant illustre l'utilisation de ces fonctions :

<code class="cpp">#include <Windows.h>

int main()
{
    HKEY hKey;
    LONG lRes = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\Perl", 0, KEY_READ, &hKey);

    if (lRes == ERROR_SUCCESS)
    {
        std::wstring strBinDir;
        GetStringRegKey(hKey, L"BinDir", strBinDir, L"bad");

        DWORD dwValue;
        GetDWORDRegKey(hKey, L"PerlVersion", dwValue, 0);

        bool bEnabled;
        GetBoolRegKey(hKey, L"Enabled", bEnabled, false);
    }

    RegCloseKey(hKey);
    return 0;
}</code>

Dans cet exemple, GetStringRegKey La fonction récupère la valeur de la clé de chaîne "BinDir", GetDWORDRegKey récupère la valeur de la clé DWORD "PerlVersion" et GetBoolRegKey récupère la valeur de la clé booléenne "Enabled".

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