Heim >Backend-Entwicklung >C++ >Wie kann ich Registrierungsschlüssel in Windows abrufen und deren Vorhandensein feststellen?

Wie kann ich Registrierungsschlüssel in Windows abrufen und deren Vorhandensein feststellen?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-31 13:34:02494Durchsuche

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

Werte aus der Windows-Registrierung abrufen

Bestimmen der Existenz eines Registrierungsschlüssels

Um die Existenz eines Registrierungsschlüssels sicher zu bestimmen, verwenden Sie RegOpenKeyExW Funktion mit dem Flag KEY_READ. Wenn die Funktion ERROR_SUCCESS zurückgibt, ist der Schlüssel vorhanden; Wenn ERROR_FILE_NOT_FOUND zurückgegeben wird, ist der Schlüssel nicht vorhanden.

Wert eines Schlüssels abrufen

Um den Wert eines Registrierungsschlüssels programmgesteuert abzurufen, verwenden Sie die folgenden APIs:

  • GetStringRegKey: Ruft einen Zeichenfolgenwert ab.
  • GetDWORDRegKey: Ruft einen DWORD-Wert (32-Bit-Ganzzahl) ab.
  • GetBoolRegKey: Ruft einen booleschen Wert ab (Wahr oder Falsch).

Diese Funktionen verwenden das Schlüsselhandle und den Namen des abzurufenden Werts als Parameter. Sie geben den Wert im bereitgestellten Referenzparameter zurück.

Beispielcode

Der folgende Beispielcode demonstriert die Verwendung dieser Funktionen:

<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>

In diesem Beispiel der GetStringRegKey Die Funktion ruft den Wert des Zeichenfolgenschlüssels „BinDir“ ab, GetDWORDRegKey ruft den Wert des DWORD-Schlüssels „PerlVersion“ ab und GetBoolRegKey ruft den Wert des booleschen Schlüssels „Enabled“ ab.

Das obige ist der detaillierte Inhalt vonWie kann ich Registrierungsschlüssel in Windows abrufen und deren Vorhandensein feststellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn