1、regcreatekeyex
通過regcreatekeyex函式可以在登錄檔中建立鍵,如果需要建立的鍵已經存在了,則開啟鍵。函式原型如下:
long regcreatekeyex(
hkey hkey,
lpctstr lpsubkey,
dword reserved,
lptstr lpclass,
dword dwoptions,
regsam samdesired,
lpsecurity_attributeslpsecurityattributes,
phkey phkresult,
lpdword lpdwdisposition
);各引數及返回值的含義如下:
?hkey為主鍵值,可以取下面的一些數值:
hkey_classes_root、hkey_current_config
hkey_current_user、hkey_local_machine
hkey_user、hkey_performance_data(winnt作業系統)
hkey_dyn_data(win9x作業系統)
?引數lpsubkey為乙個指向以零結尾的字串的指標,其中包含將要建立或開啟的子鍵的名稱。子鍵不可以用反斜線()開始。該引數可以為null。
?reserved保留,必須設定為0。
?引數lpclass乙個指向包含鍵型別的字串。如果該鍵已經存在,則忽略該引數。
?引數dwoptions為新建立的鍵設定一定的屬性。可以取下面的一些數值:
reg_option_non_volatile 新建立的鍵為乙個非短暫性的鍵(資料資訊儲存在檔案中,當系統重新啟動時,資料資訊恢復)
reg_option_volatile 新建立的鍵為乙個短暫性的鍵(資料資訊儲存在記憶體中)。windows95忽略該數值。
reg_option_backup_restore 僅在winnt中支援,可以提供優先順序支援。
?引數samdesired用來設定對鍵訪問的許可權,可以取下面的一些數值:
key_create_link 准許生成符號鍵
key_create_sub_key 准許生成子鍵
key_enumerate_sub_keys 准許生成列舉子鍵
key_execute 准許進行讀操作
key_notify 准許更換通告
key_query_value 准許查詢子鍵
key_all_access 提供完全訪問,是上面數值的組合
key_read 是下面數值的組合:
key_query_value、key_enumerate_sub_keys、key_notify
key_set_value 准許設定子鍵的數值
key_write 是下面數值的組合:
key_set_value、key_create_sub_key
?引數lpsecurityattributes為乙個指向security_attributes結構的指標,確定返回的控制代碼是否被子處理過程繼承。如果該引數為null,則控制代碼不可以被繼承。在winnt中,該引數可以為新建立的鍵增加安全的描述。
?引數phkresult為乙個指向新建立或開啟的鍵的控制代碼的指標。
?引數lpdwdispition指明鍵是被建立還是被開啟的,可以是下面的一些數值:
reg_create_new_key 鍵先前不存在,現在被建立。
reg_opened_existing_key 鍵先前已存在,現在被開啟。
2、regsetvalueex
regsetvalueex函式可以設定登錄檔中鍵的值,函式原型如下:
long regsetvalueex(
hkey hkey,
lpctstr lpvaluename,
dword reserved,
dword dwtype,
const byte *lpdata,
dword cbdata
);各個引數及返回值的含義如下:
?引數hkey的含義同regcreatekeyex函式中的hkey引數。
?引數lpvaluename為乙個指向包含值名的字串指標。
?reserved保留,通常必須設定為0。
?引數dwtype確定了設定的值的型別同regqueryvaluekeyex的lytype引數。
?引數lpdata為乙個指向包含資料的緩衝區的指標。
?引數cbdata以位元組為單位,指定資料的長度。
?返回值同regcreatekeyex函式的返回值。
3、regdeletevalue
4、regopenkeyex
regopenkeyex函式可以開啟乙個指定的鍵,函式原型如下:
long regopenkeyex(
hkey hkey,
lpctstr lpsubkey,
dword uloption,
regsam samdesired,
phkey phkresult
);各引數及返回值的含義如下:
?引數hkey的含義同regcreatekeyex函式中的hkey引數。
?引數lpsubkey為乙個指向以零結尾的字串的指標,其中包含子鍵的名稱,可以利用反斜線()分隔不同的子鍵名。如果字串為空,則根據hkey引數建立乙個新的控制代碼。在這種情況下,並不關閉先前開啟的控制代碼。
?uloption保留,通常必須設定為0。
?引數samdesired的含義同regcreatekeyex函式中的samdesired引數。
?引數phkresult為乙個指標,用來指向開啟的鍵的控制代碼。可以通過regclosekey函式關閉這個控制代碼。
?返回值同regcreatekeyex函式的返回值。
5、regenumvalue
6、regqueryvalueex
通過regqueryvalueex函式可以從乙個已經開啟的鍵中讀取資料,函式原型如下:
long regqueryvalueex(
hkey hkey,
lptstr lpvaluename,
lpdword lpreserved,
lpdword lptype,
lpbyte lpdata,
lpdword lpcbdata
);各個引數及返回值的含義如下:
?引數hkey為當前的乙個開啟的鍵的控制代碼,具體數值同regcreatekeyex函式的hkey引數。
?引數lpvaulename為乙個指向非空的包含查詢值的名稱的字串指標。
?lpreserved保留,必須為null。
?引數lptype為乙個指向資料型別的指標,資料型別為下列型別之一:
reg_binary 二進位制資料
reg_dword 32位整數
reg_dword_little_endian little-endian格式的資料,例如0x12345678以(0x78 0x56 0x34 0x12)方式儲存
reg_dword_big_endian big-endian格式的資料,例如0x12345678以(0x12 0x34 0x56 0x78)方式儲存
reg_expand_sz 乙個包含未擴充套件環境變數的字串
reg_link 乙個unicode型別的鏈結
reg_mulit_sz 以兩個零結尾的字串
reg_none 無型別數值
reg_resource_list 裝置驅動資源列表
reg_sz 乙個以零結尾的字串根據函式使用的字符集型別的不同而設定為unicode或ansi型別的字串
?引數lpdata為乙個指向儲存返回值的變數的指標。如果不需要返回值,該引數可以為null。
?引數lpcbdata為乙個指向儲存返回值長度的變數的指標。其中長度以位元組為單位。如果資料型別為reg_sz、reg_multi_sz或reg_expand_sz,那麼長度也包括結尾的零字元,只有在引數lpdata為null時,引數lpcbdata才可以為null。
?返回值同regcreatekeyex函式的返回值。
登錄檔操作 API
1 regopenkey 開啟登錄檔 2 regsetvalueex 設定登錄檔鍵值和鍵型別 3 regdeletevalue 刪除登錄檔 4 regclosekey 關閉登錄檔 long regsetvalueex hkey hkey,lpctstr lpvaluename,dword reser...
API 登錄檔程式設計
首先來認識一下鍵,項,值吧 左邊有五個根鍵 hkey classes root hkey current user hkey local machine hkey user hkey current config 根鍵展開後可以看到子健 像 software,microsoft,windows,cu...
Windows 登錄檔常用操作
1 新增乙個主鍵 比如在hkey local machine software 中新增乙個abcedfghijklmn主鍵 可以用中文,但是會被新增到最後 按字母排序的 2 刪除乙個主鍵 只要在 前面加乙個負號即可,注意,如果你發現中文登錄檔刪不掉或者新增不了,是因為你儲存的時候沒有儲存為ascii...