반응형
RegOpenKeyEx
- 지정된 레지스트리 키를 open합니다.
간단한 사용예 )
HKLM( HKEY_LOCAL_MACHINE ) 이하에 Software\Adobe 키를 오픈하고 싶다면..
출처 : http://smok95.tistory.com/
- 지정된 레지스트리 키를 open합니다.
LONG WINAPI RegOpenKeyEx(
__in HKEY hKey,
__in_opt LPCTSTR lpSubKey,
__reserved DWORD ulOptions,
__in REGSAM samDesired,
__out PHKEY phkResult
);
__in HKEY hKey,
__in_opt LPCTSTR lpSubKey,
__reserved DWORD ulOptions,
__in REGSAM samDesired,
__out PHKEY phkResult
);
Parameters
- hKey
- 오픈할 레지스트리 키의 핸들. RegCreateKeyEx 또는 RegOpenKeyEx 로 획득한 핸들이나
기본적으로 정의되어 있는 키의 핸들(predefined keys)을 사용합니다.
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
- lpSubKey
-
hKey이하의 서브키 ( 필수는 아님 )
NULL을 주는 경우 hKey값만을 사용하여 레지스트리 키를 오픈합니다. - ulOptions
-
현재는 사용하지 않습니다. 미래를 위해 예약된 인자입니다. 반드시 0 을 주어야 합니다.
- samDesired
-
오픈할 키의 제어권한의 정도를 지정합니다.
만약 함수가 실패하는경우, 낮은 권한을 가진 사용자가 높을권한을 요구하는 제어권한으로 키를 오픈하는것이 원인이 될 수 있습니다.
여러가지 옵션값이 있으니 자세한 내용은 링크를 참조하세요Registry Key Security and Access Rights.
그냥 귀찮으시면 KEY_ALL_ACCESS 로 주시면 됩니다. 모든 권한을 획득합니다. - phkResult
-
오픈된 키의 핸들
만약 키가 predefined registry keys( 기본적으로 지정되어 있는 키들)이 아니면 RegCloseKey 함수를
호출하여 오픈된 키를 종료시켜줘야 합니다.
Return Value
성공시 ERROR_SUCCESS 를 리턴합니다.
그리고 실패시에는 0 이 아닌값을 리턴하는데 에러코드는 Winerror.h 에 정의 되어 있습니다.
요구사항
Client | Requires Windows Vista, Windows XP, or Windows 2000 Professional. |
---|---|
Server | Requires Windows Server 2008, Windows Server 2003, or Windows 2000 Server. |
Header |
Declared in Winreg.h; include Windows.h. |
Library |
Use Advapi32.lib. |
DLL |
Requires Advapi32.dll. |
Unicode |
Implemented as RegOpenKeyExW (Unicode) and RegOpenKeyExA (ANSI). |
간단한 사용예 )
HKLM( HKEY_LOCAL_MACHINE ) 이하에 Software\Adobe 키를 오픈하고 싶다면..
#include <windows.h>
void main()
{
HKEY key;
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Adobe", 0, KEY_ALL_ACCESS, &key)
== ERROR_SUCCESS)
{
// 키를 오픈하는데 성공했습니다.
// 이제 이 키를 이용해 레지스트리를 마음대로 ...
}
else
{
// 키 오픈에 실패했네요....
}
}
void main()
{
HKEY key;
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Adobe", 0, KEY_ALL_ACCESS, &key)
== ERROR_SUCCESS)
{
// 키를 오픈하는데 성공했습니다.
// 이제 이 키를 이용해 레지스트리를 마음대로 ...
}
else
{
// 키 오픈에 실패했네요....
}
}
출처 : http://smok95.tistory.com/
반응형
'프로그래밍 > Windows API' 카테고리의 다른 글
GetLastError() 함수로 얻는 애러코드 (0) | 2010.12.11 |
---|---|
동적 링크 라이브러리(DLL) 사용 / 만들기 #1 (0) | 2010.11.16 |
동적 링크 라이브러리(DLL) 사용 / 만들기 #2 (0) | 2010.11.12 |
MultiByteToWideChar와 WideCharToMultiByte 함수 (2) | 2010.11.09 |
INI 파일 제어 함수 (Get...Profile... / Write...Profile...) (0) | 2010.11.04 |
API 함수 레퍼런스 (0) | 2010.11.04 |
레지스터 관련 - RegSetValueEx 함수 (0) | 2010.10.27 |
꼭 알아야 할 필수 API 함수 (0) | 2010.10.27 |
레지스터 관련 - RegCreateKeyEx 함수 (0) | 2010.10.27 |
Windows 와 Linux Thread Control 함수 비교 (동기화 함수) (0) | 2010.10.27 |