函數功能描述:打開一個制定的註冊表鍵函數
原型:
LONG RegOpenKeyEx(
HKEY hKey, // 已經打開鍵的句柄
LPCTSTR lpSubKey, // 子鍵的名稱
DWORD ulOptions, // 保留
REGSAM samDesired, // 安全訪問標記
PHKEY phkResult // 指向將要打開鍵的句柄
);
參數:
hkey:當前打開的密鑰或以下預定義密鑰之一的句柄
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
Windows NT/2000/XP: HKEY_PERFORMANCE_DATA
Windows 95/98/Me: HKEY_DYN_DATA
lpSubKey:指向一個空終止字符串的指針,該字符串包含要打開的子鍵的名稱。如果該參數爲NULL或指向空字符串的指針,則函數將爲由hKey參數標識的鍵打開一個新句柄。在這種情況下,函數將不會關閉先前打開的句柄。
ulOptions:保留;必須是零。
samDesired:一個訪問掩碼,它指定對密鑰的期望訪問權限。這個參數可以是以下值的組合。
KEY_CREATE_LINK、 /*允許新建符號連接。*/
KEY_CREATE_SUB_KEY、 /*允許新建子鍵。*/
KEY_ENUMERATE_SUB_KEYS、 /* 允許列舉子鍵。*/
KEY_EXECUTE、 /*允許讀操作。*/
KEY_NOTIFY、 /*允許修改。*/
KEY_QUERY_VALUE、 /*允許查詢子鍵數據。*/
KEY_SET_VALUE、 /*允許設置子鍵數據。*/
KEY_ALL_ACCESS、 /*相當於其他的總集合。*/
KEY_READ、 /*相當於KEY_QUERY_VALUE,KEY_ENUMERATE_SUB_KEYS,KEY_NOTIFY的組合。*/
KEY_WRITE。 /*相當於KEY_SET_VALUE和KEY_CREATE_SUB_KEY的組合。*/
phkResult:指定一個變量來接收已打開鍵的句柄。當你對返回句柄不太長時,調用RegCloseKey函數關閉它。
返回值:
如果函數取得成功,返回ERROR_SUCCESS。
如果函數調用失敗,返回一個非零的錯誤代碼(定義在WINERROR.H文件中)。你可以使用帶有FORMAT_MESSAGE_FROM_SYSTEM標記的FormatMessage函數來獲得一個錯誤的普通描述
記錄一下函數原型