Win32 登錄檔操作(2)列舉登錄檔

2021-07-03 23:10:21 字數 2274 閱讀 1463

關於wow64的問題:

32位程式執行在64位系統上操作登錄檔會出現問題,在上篇已經有詳細的說明了,因此,這一節不再重複。

十。列舉鍵值(值項)

regenumvalue函式:

long winapi regenumvalue(

_in_ hkey hkey,

_in_ dword dwindex,

_out_ lptstr lpvaluename,

_inout_ lpdword lpcchvaluename,

_reserved_ lpdword lpreserved,

_out_opt_ lpdword lptype,

_out_opt_ lpbyte lpdata,

_inout_opt_ lpdword lpcbdata

);

hkey:要開啟鍵的控制代碼或以下預定義控制代碼

hkey_classes_root

hkey_current_config

hkey_current_user

hkey_local_machine

hkey_users

dwindex:序號,從0開始計算

lpvaluename:提供緩衝區,用於接收鍵值的名稱

lpcchvaluename:指向乙個dword的指標,提供lpvaluename緩衝區的大小

lpreserved:保留,置null

lpdata:提供緩衝區,用於接收鍵值,可空

lpcbdata:指向乙個dword的指標,提供lpdata緩衝區的大小

十一。枚舉子健

regenumkeyex函式:

long winapi regenumkeyex(

_in_ hkey hkey,

_in_ dword dwindex,

_out_ lptstr lpname,

_inout_ lpdword lpcname,

_reserved_ lpdword lpreserved,

_inout_ lptstr lpclass,

_inout_opt_ lpdword lpcclass,

_out_opt_ pfiletime lpftlastwritetime

);

hkey:要開啟鍵的控制代碼或以下預定義控制代碼

hkey_classes_root

hkey_current_config

hkey_current_user

hkey_local_machine

hkey_users

dwindex:序號,從0開始計算

lpname:指標,用於接收子健名稱

lpcname:指向緩衝區長度的指標

lpreserved:保留,置null

lpclass:指向用於接收枚舉子項的使用者定義的類的緩衝區指標。此引數可以為 null

lpcclass:指向lpclass緩衝區長度的指標

lpftlastwritetime:指向接收最後一次列舉的子項時時間的 filetime 結構的指標。此引數可以為 null

例子:

//注意本**只能使用ansi版本執行

#include #includeint _tmain(int argc, _tchar* argv)

//開啟鍵

long re;

int i = 0;

puts("列舉值項");

char name[16383] = ;

dword type;

do i++;

} while (re != error_no_more_items);

puts("\r\n列舉子鍵");

char key[256] = ;

i = 0;

do while (re != error_no_more_items);

regclosekey(hkey);

getchar();

return 0;

}

效果圖:

Win32登錄檔列舉

最近有點忙,因為設計了很久的專案終於開紿寫 了。但堅持寫博是我的習慣,於是這會兒吃了晚飯的休息時間記錄了一點登錄檔api 操作的東西。下面這段 主要是用來列舉windows mobile下的plug in,然後可以設定所有的plug in的enabled鍵值。但windows mobile 的plu...

Win32登錄檔操作簡記

開啟登錄檔編輯器regedit.exe,介面左邊顯示的是健,右邊顯示的是健值,健可以分成主鍵及子鍵,健值由鍵值名稱和內容構成,由於在寫程式時候沒有搞清楚這些基本的概念,導致了api的使用問題,以下程式為列舉某子鍵下的所有值const char s i5 lpstr strpathname1 hkey...

win32 查詢登錄檔找網絡卡

define sizeof device name 256 cstring strdevicelist bool get device info int index,char key name,char device info,char device description regclosekey ...