winreg — 윈도우 레지스트리 액세스¶
이 함수들은 윈도우 레지스트리 API를 파이썬에 노출합니다. 프로그래머가 명시적으로 닫는 것을 무시하더라도 핸들이 올바르게 닫히도록 하기 위해, 레지스트리 핸들로 정수를 사용하는 대신 핸들 객체가 사용됩니다.
버전 3.3에서 변경: 이 모듈의 여러 함수는 WindowsError를 발생시켜왔는데, 이제는 OSError의 별칭입니다.
함수¶
이 모듈은 다음 함수를 제공합니다:
- winreg.CloseKey(hkey)¶
- 이전에 열린 레지스트리 키를 닫습니다. hkey 인자는 이전에 열린 키를 지정합니다. - 참고 - 이 메서드를 사용하여 (또는 - hkey.Close()를 통해) hkey가 닫히지 않으면, hkey 객체가 파이썬에 의해 파괴될 때 닫힙니다.
- winreg.ConnectRegistry(computer_name, key)¶
- 다른 컴퓨터에 있는 사전 정의된 레지스트리 핸들에 연결하고, 핸들 객체를 반환합니다. - computer_name은 - r"\\computername"형식의 원격 컴퓨터 이름입니다.- None이면, 로컬 컴퓨터가 사용됩니다.- key는 연결할 사전 정의된 핸들입니다. - 반환 값은 열린 키의 핸들입니다. 함수가 실패하면, - OSError예외가 발생합니다.- 인자 - computer_name,- key로 감사 이벤트- winreg.ConnectRegistry를 발생시킵니다.- 버전 3.3에서 변경: 위를 참조하십시오. 
- winreg.CreateKey(key, sub_key)¶
- 지정된 키를 만들거나 열어, 핸들 객체를 반환합니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - sub_key는 이 메서드가 열거나 만드는 키의 이름을 지정하는 문자열입니다. - key가 사전 정의된 키 중 하나이면, sub_key는 - None일 수 있습니다. 이 경우, 반환된 핸들은 함수에 전달된 것과 같은 키 핸들입니다.- 키가 이미 존재하면, 이 함수는 기존 키를 엽니다. - 반환 값은 열린 키의 핸들입니다. 함수가 실패하면, - OSError예외가 발생합니다.- 인자 - key,- sub_key,- access로 감사 이벤트- winreg.CreateKey를 발생시킵니다.- 인자 - key로 감사 이벤트- winreg.OpenKey/result를 발생시킵니다.- 버전 3.3에서 변경: 위를 참조하십시오. 
- winreg.CreateKeyEx(key, sub_key, reserved=0, access=KEY_WRITE)¶
- 지정된 키를 만들거나 열어, 핸들 객체를 반환합니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - sub_key는 이 메서드가 열거나 만드는 키의 이름을 지정하는 문자열입니다. - reserved는 예약된 정수이며, 0이어야 합니다. 기본값은 0입니다. - access는 키에 대한 원하는 보안 액세스를 기술하는 액세스 마스크를 지정하는 정수입니다. 기본값은 - KEY_WRITE입니다. 허용되는 다른 값은 액세스 권한을 참조하십시오.- key가 사전 정의된 키 중 하나이면, sub_key는 - None일 수 있습니다. 이 경우, 반환된 핸들은 함수에 전달된 것과 같은 키 핸들입니다.- 키가 이미 존재하면, 이 함수는 기존 키를 엽니다. - 반환 값은 열린 키의 핸들입니다. 함수가 실패하면, - OSError예외가 발생합니다.- 인자 - key,- sub_key,- access로 감사 이벤트- winreg.CreateKey를 발생시킵니다.- 인자 - key로 감사 이벤트- winreg.OpenKey/result를 발생시킵니다.- Added in version 3.2. - 버전 3.3에서 변경: 위를 참조하십시오. 
- winreg.DeleteKey(key, sub_key)¶
- 지정된 키를 삭제합니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - sub_key는 key 매개 변수로 식별된 키의 서브 키여야 하는 문자열입니다. 이 값은 - None이 아니어야 하며, 키에 서브 키가 없을 수 있습니다.- 이 메서드는 서브 키가 있는 키를 삭제할 수 없습니다. - 메서드가 성공하면, 모든 값을 포함하여 전체 키가 제거됩니다. 메서드가 실패하면, - OSError예외가 발생합니다.- 인자 - key,- sub_key,- access로 감사 이벤트- winreg.DeleteKey를 발생시킵니다.- 버전 3.3에서 변경: 위를 참조하십시오. 
- winreg.DeleteKeyEx(key, sub_key, access=KEY_WOW64_64KEY, reserved=0)¶
- 지정된 키를 삭제합니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - sub_key는 key 매개 변수로 식별된 키의 서브 키여야 하는 문자열입니다. 이 값은 - None이 아니어야 하며, 키에 서브 키가 없을 수 있습니다.- reserved는 예약된 정수이며, 0이어야 합니다. 기본값은 0입니다. - access는 키에 대한 원하는 보안 액세스를 기술하는 액세스 마스크를 지정하는 정수입니다. 기본값은 - KEY_WOW64_64KEY입니다. 32비트 윈도우에서는, WOW64 상수가 무시됩니다. 허용되는 다른 값은 액세스 권한을 참조하십시오.- 이 메서드는 서브 키가 있는 키를 삭제할 수 없습니다. - 메서드가 성공하면, 모든 값을 포함하여 전체 키가 제거됩니다. 메서드가 실패하면, - OSError예외가 발생합니다.- 지원되지 않는 윈도우 버전에서는, - NotImplementedError가 발생합니다.- 인자 - key,- sub_key,- access로 감사 이벤트- winreg.DeleteKey를 발생시킵니다.- Added in version 3.2. - 버전 3.3에서 변경: 위를 참조하십시오. 
- winreg.DeleteValue(key, value)¶
- 레지스트리 키에서 명명된 값을 제거합니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - value는 제거할 값을 식별하는 문자열입니다. - 인자 - key,- value로 감사 이벤트- winreg.DeleteValue를 발생시킵니다.
- winreg.EnumKey(key, index)¶
- 열린 레지스트리 키의 서브 키를 열거하고, 문자열을 반환합니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - index는 꺼낼 키의 인덱스를 식별하는 정수입니다. - 이 함수는 호출될 때마다 하나의 서브 키 이름을 꺼냅니다. 일반적으로 더 이상 사용할 수 있는 값이 없음을 나타내는 - OSError예외가 발생할 때까지 반복적으로 호출됩니다.- 인자 - key,- index로 감사 이벤트- winreg.EnumKey를 발생시킵니다.- 버전 3.3에서 변경: 위를 참조하십시오. 
- winreg.EnumValue(key, index)¶
- 열린 레지스트리 키의 값을 열거하고, 튜플을 반환합니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - index는 꺼낼 값의 인덱스를 식별하는 정수입니다. - 이 함수는 호출될 때마다 하나의 서브 키 이름을 꺼냅니다. 일반적으로 더는 값이 없음을 표시하는 - OSError예외가 발생할 때까지 반복적으로 호출됩니다.- 결과는 3개의 항목으로 구성된 튜플입니다: - 인덱스 - 의미 - 0- 값 이름을 식별하는 문자열 - 1- 값 데이터를 담은 객체, 형이 하부 레지스트리 유형에 따라 달라집니다 - 2- 값 데이터의 형을 식별하는 정수 ( - SetValueEx()에 대한 설명서에 있는 표를 참조하십시오)- 인자 - key,- index로 감사 이벤트- winreg.EnumValue를 발생시킵니다.- 버전 3.3에서 변경: 위를 참조하십시오. 
- winreg.ExpandEnvironmentStrings(str)¶
- REG_EXPAND_SZ와 같은 문자열에서 환경 변수 자리 표시자- %NAME%을 확장합니다:- >>> ExpandEnvironmentStrings('%windir%') 'C:\\Windows' - 인자 - str로 감사 이벤트- winreg.ExpandEnvironmentStrings를 발생시킵니다.
- winreg.FlushKey(key)¶
- 키의 모든 어트리뷰트를 레지스트리에 씁니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - 키를 변경하기 위해 - FlushKey()를 호출할 필요는 없습니다. 레지스트리 변경은 지연 플러셔를 사용하여 레지스트리에 의해 디스크로 플러시 됩니다. 레지스트리 변경은 시스템 종료 시에도 디스크로 플러시 됩니다.- CloseKey()와 달리,- FlushKey()메서드는 모든 데이터가 레지스트리에 기록될 때만 반환합니다. 응용 프로그램은 레지스트리 변경이 디스크에 있다는 절대적인 확신이 필요할 때만- FlushKey()를 호출해야 합니다.- 참고 - FlushKey()호출이 필요한지 모른다면, 아마도 필요하지 않습니다.
- winreg.LoadKey(key, sub_key, file_name)¶
- 지정된 키 아래에 서브 키를 만들고 지정된 파일에 있는 등록 정보를 그 서브 키에 저장합니다. - key는 - ConnectRegistry()가 반환한 핸들이거나 상수- HKEY_USERS나- HKEY_LOCAL_MACHINE중 하나입니다.- sub_key는 로드할 서브 키를 식별하는 문자열입니다. - file_name은 레지스트리 데이터를 로드할 파일의 이름입니다. 이 파일은 - SaveKey()함수로 만들어졌어야 합니다. FAT(file allocation table) 파일 시스템에서, 파일명은 확장자가 없을 수 있습니다.- 호출하는 프로세스에 - SE_RESTORE_PRIVILEGE권한(privilege)이 없으면- LoadKey()에 대한 호출이 실패합니다. 권한(privilege)은 허가(permissions)와 다름에 유의하십시오 – 자세한 내용은 RegLoadKey 설명서를 참조하십시오.- key가 - ConnectRegistry()가 반환한 핸들이면, file_name에 지정된 경로는 원격 컴퓨터에 상대적입니다.- 인자 - key,- sub_key,- file_name으로 감사 이벤트- winreg.LoadKey를 발생시킵니다.
- winreg.OpenKey(key, sub_key, reserved=0, access=KEY_READ)¶
- winreg.OpenKeyEx(key, sub_key, reserved=0, access=KEY_READ)¶
- 지정된 키를 열고, 핸들 객체를 반환합니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - sub_key는 열 서브 키를 식별하는 문자열입니다. - reserved는 예약된 정수이며, 0이어야 합니다. 기본값은 0입니다. - access는 키에 대한 원하는 보안 액세스를 기술하는 액세스 마스크를 지정하는 정수입니다. 기본값은 - KEY_READ입니다. 허용되는 다른 값은 액세스 권한을 참조하십시오.- 결과는 지정된 키에 대한 새로운 핸들입니다. - 함수가 실패하면, - OSError가 발생합니다.- 인자 - key,- sub_key,- access로 감사 이벤트- winreg.OpenKey를 발생시킵니다.- 인자 - key로 감사 이벤트- winreg.OpenKey/result를 발생시킵니다.- 버전 3.2에서 변경: 명명된 인자 사용을 허용합니다. - 버전 3.3에서 변경: 위를 참조하십시오. 
- winreg.QueryInfoKey(key)¶
- 키에 대한 정보를 튜플로 반환합니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - 결과는 3개의 항목으로 구성된 튜플입니다: - 인덱스 - 의미 - 0- 이 키가 가진 서브 키의 수를 제공하는 정수. - 1- 이 키가 가진 값의 수를 제공하는 정수. - 2- 키가 마지막으로 수정된 때(있다면)를 1601년 1월 1일 이후로 지난 100나노초로 제공하는 정수. - 인자 - key로 감사 이벤트- winreg.QueryInfoKey를 발생시킵니다.
- winreg.QueryValue(key, sub_key)¶
- 키의 이름이 없는 값을 문자열로 가져옵니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - sub_key는 값이 연관된 서브 키의 이름을 담은 문자열입니다. 이 매개 변수가 - None이거나 비어있으면, 함수는 key로 식별된 키에 대해- SetValue()메서드로 설정된 값을 가져옵니다.- 레지스트리의 값에는 이름, 형 및 데이터 구성 요소가 있습니다. 이 메서드는 - NULL이름을 가진 키의 첫 번째 값에 대한 데이터를 가져옵니다. 그러나 하부 API 호출은 형을 반환하지 않아서, 가능하다면 항상- QueryValueEx()를 사용하십시오.- 인자 - key,- sub_key,- value_name으로 감사 이벤트- winreg.QueryValue를 발생시킵니다.
- winreg.QueryValueEx(key, value_name)¶
- 열린 레지스트리 키와 연관된 지정된 값 이름의 형과 데이터를 가져옵니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - value_name은 조회할 값을 나타내는 문자열입니다. - 결과는 2개의 항목으로 구성된 튜플입니다: - 인덱스 - 의미 - 0- 레지스트리 항목의 값. - 1- 이 값에 대한 레지스트리 유형을 제공하는 정수 ( - SetValueEx()의 설명서에 있는 표를 참조하십시오)- 인자 - key,- sub_key,- value_name으로 감사 이벤트- winreg.QueryValue를 발생시킵니다.
- winreg.SaveKey(key, file_name)¶
- 지정된 키와 그것의 모든 서브 키를 지정된 파일에 저장합니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - file_name은 레지스트리 데이터를 저장할 파일 이름입니다. 이 파일은 이미 존재할 수 없습니다. 이 파일명에 확장자가 포함되어 있으면, - LoadKey()메서드로 FAT(file allocation table) 파일 시스템에서 사용할 수 없습니다.- key가 원격 컴퓨터의 키를 나타내면, file_name이 기술하는 경로는 원격 컴퓨터에 상대적입니다. 이 메서드의 호출자는 SeBackupPrivilege 보안 권한(privilege)을 가지고 있어야 합니다. 권한(privilege)은 허가(permissions)와 다름에 유의하십시오 – 자세한 내용은 사용자 권한과 허가 간의 충돌 설명서를 참조하십시오. - 이 함수는 security_attributes로 - NULL을 API로 전달합니다.- 인자 - key,- file_name으로 감사 이벤트- winreg.SaveKey를 발생시킵니다.
- winreg.SetValue(key, sub_key, type, value)¶
- 값을 지정된 키와 연관시킵니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - sub_key는 값이 연관된 서브 키의 이름을 지정하는 문자열입니다. - type은 데이터의 형을 지정하는 정수입니다. 현재 이것은 - REG_SZ여야 하는데, 문자열만 지원된다는 뜻입니다. 다른 데이터형을 지원하려면- SetValueEx()함수를 사용하십시오.- value는 새 값을 지정하는 문자열입니다. - sub_key 매개 변수로 지정된 키가 존재하지 않으면, SetValue 함수가 이를 만듭니다. - 값 길이는 사용 가능한 메모리에 따라 제한됩니다. 긴 값(2048바이트보다 긴)은 구성 레지스트리에 저장된 파일명을 가진 파일로 저장해야 합니다. 이렇게 하면 레지스트리가 효율적으로 수행하는 데 도움을 줍니다. - key 매개 변수로 식별된 키는 - KEY_SET_VALUE액세스로 열렸어야 합니다.- 인자 - key,- sub_key,- type,- value로 감사 이벤트- winreg.SetValue를 발생시킵니다.
- winreg.SetValueEx(key, value_name, reserved, type, value)¶
- 열린 레지스트리 키의 값 필드에 데이터를 저장합니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - value_name은 값이 연관된 서브 키의 이름을 지정하는 문자열입니다. - reserved는 무엇이든 가능합니다 – 0이 항상 API로 전달됩니다. - type은 데이터의 형을 지정하는 정수입니다. 사용 가능한 형은 값 형을 참조하십시오. - value는 새 값을 지정하는 문자열입니다. - 이 메서드는 지정된 키에 대한 추가 값과 형 정보를 설정할 수도 있습니다. key 매개 변수로 식별된 키는 - KEY_SET_VALUE액세스로 열렸어야 합니다.- 키를 열려면, - CreateKey()나- OpenKey()메서드를 사용하십시오.- 값 길이는 사용 가능한 메모리에 따라 제한됩니다. 긴 값(2048바이트보다 긴)은 구성 레지스트리에 저장된 파일명을 가진 파일로 저장해야 합니다. 이렇게 하면 레지스트리가 효율적으로 수행하는 데 도움을 줍니다. - 인자 - key,- sub_key,- type,- value로 감사 이벤트- winreg.SetValue를 발생시킵니다.
- winreg.DisableReflectionKey(key)¶
- 64비트 운영 체제에서 실행 중인 32비트 프로세스에 대한 레지스트리 리플렉션(reflection)을 비활성화합니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - 32비트 운영 체제에서 실행하면 일반적으로 - NotImplementedError가 발생합니다.- 키가 리플렉션 목록에 없으면, 함수는 성공하지만 아무런 효과가 없습니다. 키에 대한 리플렉션을 비활성화해도 서브 키의 리플렉션에는 영향을 미치지 않습니다. - 인자 - key로 감사 이벤트- winreg.DisableReflectionKey를 발생시킵니다.
- winreg.EnableReflectionKey(key)¶
- 지정된 비활성화 된 키에 대한 레지스트리 리플렉션(reflection)을 복원합니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - 32비트 운영 체제에서 실행하면 일반적으로 - NotImplementedError가 발생합니다.- 키에 대한 리플렉션을 복원해도 서브 키의 리플렉션에 영향을 미치지 않습니다. - 인자 - key로 감사 이벤트- winreg.EnableReflectionKey를 발생시킵니다.
- winreg.QueryReflectionKey(key)¶
- 지정된 키의 리플렉션(reflection) 상태를 판단합니다. - key는 이미 열린 키이거나, 사전 정의된 HKEY_* 상수 중 하나입니다. - 리플렉션이 비활성화되었으면 - True를 반환합니다.- 32비트 운영 체제에서 실행하면 일반적으로 - NotImplementedError가 발생합니다.- 인자 - key로 감사 이벤트- winreg.QueryReflectionKey를 발생시킵니다.
상수¶
많은 winreg 함수에 사용하기 위해 다음 상수가 정의되어 있습니다.
HKEY_* 상수¶
- winreg.HKEY_CLASSES_ROOT¶
- 이 키에 종속된 레지스트리 항목은 문서의 형(또는 클래스)과 해당 형과 연관된 속성을 정의합니다. 셸과 COM 응용 프로그램은 이 키에 저장된 정보를 사용합니다. 
- winreg.HKEY_CURRENT_USER¶
- 이 키에 종속된 레지스트리 항목은 현재 사용자의 환경 설정(preferences)을 정의합니다. 이러한 환경 설정에는 환경 변수 설정, 프로그램 그룹, 색상, 프린터, 네트워크 연결 및 응용 프로그램 환경 설정에 대한 데이터가 포함됩니다. 
- winreg.HKEY_LOCAL_MACHINE¶
- 이 키에 종속된 레지스트리 항목은 버스 유형, 시스템 메모리 및 설치된 하드웨어와 소프트웨어에 대한 데이터를 포함하는 컴퓨터의 물리적 상태를 정의합니다. 
- winreg.HKEY_USERS¶
- 이 키에 종속된 레지스트리 항목은 로컬 컴퓨터의 새 사용자를 위한 기본 사용자 구성과 현재 사용자의 사용자 구성을 정의합니다. 
- winreg.HKEY_PERFORMANCE_DATA¶
- 이 키에 종속된 레지스트리 항목을 사용하면 성능 데이터에 액세스 할 수 있습니다. 데이터는 실제로 레지스트리에 저장되지 않습니다; 레지스트리 함수는 시스템이 소스에서 데이터를 수집하도록 합니다. 
- winreg.HKEY_CURRENT_CONFIG¶
- 로컬 컴퓨터 시스템의 현재 하드웨어 프로필에 대한 정보가 들어 있습니다. 
- winreg.HKEY_DYN_DATA¶
- 이 키는 98 이후의 윈도우 버전에서는 사용되지 않습니다. 
액세스 권한¶
자세한 내용은 레지스트리 키 보안과 액세스를 참조하십시오.
- winreg.KEY_ALL_ACCESS¶
- STANDARD_RIGHTS_REQUIRED, - KEY_QUERY_VALUE,- KEY_SET_VALUE,- KEY_CREATE_SUB_KEY,- KEY_ENUMERATE_SUB_KEYS,- KEY_NOTIFY및- KEY_CREATE_LINK액세스 권한을 결합합니다.
- winreg.KEY_WRITE¶
- STANDARD_RIGHTS_WRITE, - KEY_SET_VALUE및- KEY_CREATE_SUB_KEY액세스 권한을 결합합니다.
- winreg.KEY_READ¶
- STANDARD_RIGHTS_READ, - KEY_QUERY_VALUE,- KEY_ENUMERATE_SUB_KEYS및- KEY_NOTIFY값을 결합합니다.
- winreg.KEY_QUERY_VALUE¶
- 레지스트리 키의 값을 조회하는 데 필요합니다. 
- winreg.KEY_SET_VALUE¶
- 레지스트리 값을 생성, 삭제 또는 설정하는 데 필요합니다. 
- winreg.KEY_CREATE_SUB_KEY¶
- 레지스트리 키의 서브 키를 만드는 데 필요합니다. 
- winreg.KEY_ENUMERATE_SUB_KEYS¶
- 레지스트리 키의 서브 키를 열거하는 데 필요합니다. 
- winreg.KEY_NOTIFY¶
- 레지스트리 키나 레지스트리 키의 서브 키에 대한 변경 알림을 요청하는 데 필요합니다. 
- winreg.KEY_CREATE_LINK¶
- 시스템 사용을 위해 예약되어 있습니다. 
64비트 특정¶
자세한 내용은 대체 레지스트리 뷰에 액세스하기를 참조하십시오.
- winreg.KEY_WOW64_64KEY¶
- 64비트 윈도우의 응용 프로그램이 64비트 레지스트리 뷰에서 작동해야 함을 나타냅니다. 32비트 윈도우에서, 이 상수는 무시됩니다. 
- winreg.KEY_WOW64_32KEY¶
- 64비트 윈도우의 응용 프로그램이 32비트 레지스트리 뷰에서 작동해야 함을 나타냅니다. 32비트 윈도우에서, 이 상수는 무시됩니다. 
값 형¶
자세한 내용은 레지스트리 값 형을 참조하십시오.
- winreg.REG_BINARY¶
- 모든 형태의 바이너리 데이터. 
- winreg.REG_DWORD¶
- 32비트 숫자. 
- winreg.REG_DWORD_BIG_ENDIAN¶
- 빅 엔디안 형식의 32비트 숫자. 
- winreg.REG_EXPAND_SZ¶
- 환경 변수( - %PATH%)에 대한 참조를 포함하는 널 종료 문자열.
- winreg.REG_LINK¶
- 유니코드 심볼릭 링크. 
- winreg.REG_MULTI_SZ¶
- 두 개의 널 문자로 끝나는 널 종료 문자열의 시퀀스. (파이썬은 이 종료를 자동으로 처리합니다.) 
- winreg.REG_NONE¶
- 정의된 값 형이 없습니다. 
- winreg.REG_QWORD¶
- 64비트 숫자. - Added in version 3.6. 
- winreg.REG_RESOURCE_LIST¶
- 장치 드라이버 리소스 목록. 
- winreg.REG_FULL_RESOURCE_DESCRIPTOR¶
- 하드웨어 설정. 
- winreg.REG_RESOURCE_REQUIREMENTS_LIST¶
- 하드웨어 리소스 목록. 
- winreg.REG_SZ¶
- 널 종료 문자열. 
레지스트리 핸들 객체¶
이 객체는 윈도우 HKEY 객체를 감싸서, 객체가 파괴될 때 자동으로 닫습니다. 정리를 보장하기 위해, 객체의 Close() 메서드나 CloseKey() 함수를 호출할 수 있습니다.
이 모듈의 모든 레지스트리 함수는 이러한 객체 중 하나를 반환합니다.
핸들 객체를 받아들이는 이 모듈의 모든 레지스트리 함수는 정수도 받아들이지만, 핸들 객체의 사용을 권장합니다.
핸들 객체는 __bool__()에 대한 의미를 제공합니다 – 그래서
if handle:
    print("Yes")
는 핸들이 현재 유효하면 (닫혔거나 분리되지(detached) 않았으면) Yes를 인쇄합니다.
객체는 또한 비교 개념을 지원하므로, 핸들 객체가 모두 같은 하부 윈도우 핸들값을 참조하면 참으로 비교됩니다.
핸들 객체는 정수로 변환될 수 있으며 (예를 들어, 내장 int() 함수 사용해서), 이 경우 하부 윈도우 핸들값이 반환됩니다. Detach() 메서드를 사용하여 정수 핸들을 반환하고 핸들 객체에서 윈도우 핸들을 분리할 수도 있습니다.
- PyHKEY.Close()¶
- 하부 윈도우 핸들을 닫습니다. - 핸들이 이미 닫혀 있으면, 에러가 발생하지 않습니다. 
- PyHKEY.Detach()¶
- 핸들 객체에서 윈도우 핸들을 분리합니다. - 결과는 핸들이 분리되기 전의 핸들 값을 담고 있는 정수입니다. 핸들이 이미 분리되었거나 닫혔으면 0이 반환됩니다. - 이 함수를 호출한 후에는, 핸들이 효과적으로 무효가 되지만, 핸들이 닫히지는 않습니다. 하부 Win32 핸들이 핸들 객체의 수명을 넘어 존재해야 할 때 이 함수를 호출합니다. - 인자 - key로 감사 이벤트- winreg.PyHKEY.Detach를 발생시킵니다.
- PyHKEY.__enter__()¶
- PyHKEY.__exit__(*exc_info)¶
- HKEY 객체는 - __enter__()와- __exit__()를 구현하므로- with문의 컨텍스트 프로토콜을 지원합니다:- with OpenKey(HKEY_LOCAL_MACHINE, "foo") as key: ... # key로 작업합니다 - 는 제어가 - with블록을 벗어날 때 key를 자동으로 닫습니다.