> 백엔드 개발 > C++ > Windows에서 레지스트리 키의 존재를 검색하고 확인하려면 어떻게 해야 합니까?

Windows에서 레지스트리 키의 존재를 검색하고 확인하려면 어떻게 해야 합니까?

Patricia Arquette
풀어 주다: 2024-10-31 13:34:02
원래의
493명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿