ホームページ  >  記事  >  バックエンド開発  >  Windows でレジストリ キーの存在を取得して確認するにはどうすればよいですか?

Windows でレジストリ キーの存在を取得して確認するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-31 13:34:02410ブラウズ

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

Windows レジストリからの値の取得

レジストリ キーの存在の確認

レジストリ キーの存在を安全に確認するには、RegOpenKeyExW を使用します。 KEY_READ フラグを使用した関数。関数が ERROR_SUCCESS を返した場合、キーは存在します。 ERROR_FILE_NOT_FOUND が返された場合、キーは存在しません。

キーの値の取得

レジストリ キーの値をプログラムで取得するには、次の API を使用します。

  • GetStringRegKey: 文字列値を取得します。
  • GetDWORDRegKey: DWORD 値 (32 ビット整数) を取得します。
  • GetBoolRegKey: ブール値 (True または False) を取得します。

これらの関数は、パラメータとして取得するキー ハンドルと値の名前を受け取ります。これらは、指定された参照パラメータの値を返します。

サンプル コード

次のサンプル コードは、これらの関数の使用法を示しています。

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

この例では、GetStringRegKey関数は「BinDir」文字列キーの値を取得し、GetDWORDRegKey は「PerlVersion」DWORD キーの値を取得し、GetBoolRegKey は「Enabled」ブール キーの値を取得します。

以上がWindows でレジストリ キーの存在を取得して確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。