C++註冊表操作
1、註冊表組成的理解
與xp系統上檔案管理類似。
(1) 根鍵:共5個。
HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、
HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CURRENT_CONFIG
相當於有五個盤。
(2) 子健:可以有多個索引值項及多個子健。
如:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
下面就有AGP、Arbiters等子健。還有CurrentUser、SystemBootDevice等索引值項。
子健相當於一個檔案夾,其下可以有多個檔案夾和檔案。
(3) 索引值項:由3部分組成。名稱、類型、資料值。
索引值項相當於一個一個的檔案。
2、開啟/關閉註冊表:
RegOpenKeyEx(
hKey, //父鍵控制代碼
lpSubKey, //子健控制代碼
dwOption, //系統保留,指定為0
samDesired, //開啟許可權
phkResult, //返回開啟控制代碼
)
//開啟鍵
HKEY key; //傳回值存入key中
LPCTSTR data = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,data,0,KEY_ALL_ACCESS,&key)==ERROR_SUCCESS)
{ ; }
//關閉鍵
RegCloseKey(key);
3、查看索引值基本資料及其子健基本資料(相當於開啟一個目錄)
RegQueryInfoKey
擷取某個鍵的子健數目、子健中最長名稱長度、子鍵中最長字串長度、
索引值數量、索引值中最長名稱長度、索引值中最長字串長度。
4、遍曆某鍵的子健資訊
RegEnumKeyEx
5、遍曆某鍵的索引值資訊
RegEnumValue
查詢某指定索引值資訊:RegQueryValueEx()
設定某指定索引值資訊:RegSetValueEx()
(未完待續)