The RegOpenKeyEx function opens the specified key.
LONG RegOpenKeyEx(
HKEY hKey, |
// handle of open key |
LPCTSTR lpSubKey, |
// address of name of subkey to open |
DWORD ulOptions, |
// reserved |
REGSAM samDesired, |
// security access mask |
PHKEY phkResult |
// address of handle of open key |
); |
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
Windows NT only: HKEY_PERFORMANCE_DATA
Windows 95 only: HKEY_DYN_DATA
Value |
Meaning |
KEY_ALL_ACCESS |
Combination of KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK, and KEY_SET_VALUE access. |
KEY_CREATE_LINK |
Permission to create a symbolic link. |
KEY_CREATE_SUB_KEY |
Permission to create subkeys. |
KEY_ENUMERATE_SUB_KEYS |
Permission to enumerate subkeys. |
KEY_EXECUTE |
Permission for read access. |
KEY_NOTIFY |
Permission for change notification. |
KEY_QUERY_VALUE |
Permission to query subkey data. |
KEY_READ |
Combination of KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, and KEY_NOTIFY access. |
KEY_SET_VALUE |
Permission to set subkey data. |
KEY_WRITE |
Combination of KEY_SET_VALUE and KEY_CREATE_SUB_KEY access. |
If the function succeeds, the return value is ERROR_SUCCESS.
If the function fails, the return value is a nonzero error code defined in WINERROR.H. You can use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.
Unlike the RegCreateKeyEx function, the RegOpenKeyEx function does not create the specified key if the key does not exist in the registry.
RegCloseKey, RegCreateKeyEx, RegDeleteKey, RegOpenKey
Jeffrey T Greenberg of BERG Software Says:
the order of the HKEY's is wrong here, it is not critical, but if you don't have the ordinals then it is a bit tougher to figure them out. the order and their ordinals (for XP) is:
HKEY_CLASSES_ROOT = &H80000000
HKEY_CURRENT_USER = &H80000001
HKEY_LOCAL_MACHINE = &H80000002
HKEY_USERS = &H80000003
HKEY_CURRENT_CONFIG = &H80000004
But without what was written above, I would not have gotten the info I needed as fast so I hope I'm not too critical.