Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mendapatkan Kunci Pendaftaran dan Nilai dalam C?

Bagaimana untuk Mendapatkan Kunci Pendaftaran dan Nilai dalam C?

Linda Hamilton
Lepaskan: 2024-10-31 03:47:02
asal
210 orang telah melayarinya

How to Retrieve Registry Key and Value in C  ?

Cara Mengambil Kunci dan Nilai Pendaftaran

Menentukan Kewujudan Utama

Untuk menyemak kewujudan kunci pendaftaran dengan selamat, gunakan RegOpenKeyExW dengan KEY_READ bendera akses. Jika fungsi mengembalikan ERROR_SUCCESS, kunci wujud.

Mendapatkan Nilai Kunci

Kod Pseudo

<code class="pseudo-code">if (key exists) {
    get default value of key
    get string value of key
    get DWORD value of key
}</code>
Salin selepas log masuk

Kod Contoh

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

int main() {
    // Open the registry key
    HKEY hKey;
    LONG lRes = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\Perl", 0, KEY_READ, &hKey);
    // Check if the key exists
    bool bExistsAndSuccess = (lRes == ERROR_SUCCESS);
    // Get the default value of the key
    std::wstring strKeyDefaultValue;
    GetStringRegKey(hKey, L"", strKeyDefaultValue, L"bad");
    return 0;
}

// Function to get a string value from the registry
LONG GetStringRegKey(HKEY hKey, const std::wstring &strValueName, std::wstring &strValue, const std::wstring &strDefaultValue) {
    strValue = strDefaultValue;
    WCHAR szBuffer[512];
    DWORD dwBufferSize = sizeof(szBuffer);
    ULONG nError;
    nError = RegQueryValueExW(hKey, strValueName.c_str(), 0, NULL, (LPBYTE)szBuffer, &dwBufferSize);
    if (ERROR_SUCCESS == nError) {
        strValue = szBuffer;
    }
    return nError;
}</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kunci Pendaftaran dan Nilai dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan