Heim >Backend-Entwicklung >C++ >Wie rufe ich mit C Werte aus der Windows-Registrierung ab?

Wie rufe ich mit C Werte aus der Windows-Registrierung ab?

Barbara Streisand
Barbara StreisandOriginal
2024-10-30 01:25:02702Durchsuche

How to Retrieve Values from the Windows Registry using C  ?

Werte aus der Windows-Registrierung lesen

Bei der Arbeit mit Windows-Systemen ist es häufig erforderlich, auf Daten aus der Registrierung zuzugreifen und diese abzurufen. Die Registrierung speichert wichtige Konfigurationseinstellungen, Benutzereinstellungen und softwarebezogene Informationen. In diesem Artikel erfahren Sie, wie Sie sicher überprüfen, ob ein Registrierungsschlüssel vorhanden ist, und seinen Wert programmgesteuert mit C abrufen.

Bestimmen der Existenz eines Registrierungsschlüssels

Um festzustellen, ob ein Registrierungsschlüssel vorhanden ist, rufen Sie RegOpenKeyExW auf Funktion mit dem Schlüsselpfad und den bevorzugten Berechtigungen. Wenn die Funktion ERROR_SUCCESS zurückgibt, ist der Schlüssel vorhanden. Wenn ERROR_FILE_NOT_FOUND zurückgegeben wird, ist der Schlüssel ausdrücklich nicht vorhanden. Andernfalls kann die Existenz des Schlüssels nicht ermittelt werden.

Registrierungsschlüsselwert abrufen

Sobald Sie die Existenz eines Registrierungsschlüssels bestätigt haben, können Sie seinen Wert programmgesteuert abrufen. Die konkret zu verwendende Funktion hängt vom Datentyp des Werts ab. Zu den gängigen Typen gehören Zeichenfolgen, DWORDs und boolesche Werte. So rufen Sie jeden Typ ab:

String-Wert:

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

DWORD-Wert:

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

Boolescher Wert:

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

Denken Sie daran, die Advapi32.lib-Bibliotheksabhängigkeit in Ihren Code aufzunehmen.

Das obige ist der detaillierte Inhalt vonWie rufe ich mit C Werte aus der Windows-Registrierung ab?. 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