Win32登錄檔列舉

2021-05-01 13:15:44 字數 1876 閱讀 7757

最近有點忙,因為設計了很久的專案終於開紿寫**了。但堅持寫博是我的習慣,於是這會兒吃了晚飯的休息時間記錄了一點登錄檔api 操作的東西。

下面這段**主要是用來列舉windows mobile下的plug in,然後可以設定所有的plug in的enabled鍵值。但windows mobile 的plug in有乙個特例就是date plug in.它沒有和其它的plug in一樣,建立在同乙個鍵的下面,而是單獨的儲存。

#define

rge_today_items  l"software//microsoft//today//items"

#define

rge_today_date  l"software//microsoft//today"

#define

item_name_size 128

#define

max_string 256

#define

item_value l"enabled"

#define

home_plug_name l"plugindemo"

#define

date_plug l"date"

bool enablealltodayitem(bool flag)

;wchar szitempath[max_string]=;

dword dwsubkey = item_name_size;

dword benablevalue = flag;

wchar szhomeplugname[item_name_size]= ;

wsprintfw((lpwstr)&szhomeplugname, l"%s",home_plug_name);

//enable date plug in

if (error_success != regopenkeyex(hkey_local_machine,

rge_today_date, 0, null, &htodayitem))

if (error_success != regsetvalueex(htodayitem, date_plug, 0, reg_dword,(lpbyte)&benablevalue,sizeof(benablevalue)))

//enable other items plugin

if (error_success != regopenkeyex(hkey_local_machine, rge_today_items, 0, null, &htodayitem))

//enum all sub key below item directory, then open it and set it's value

for (int i= 0;

error_no_more_items != regenumkeyex(htodayitem, i, (lpwstr)&szitemname, &dwsubkey,

null, null, null, null);

i++)

wsprintfw((lpwstr)&szitempath, l"software//microsoft//today//items//%s",szitemname);

//open current item and set it's value

if (error_success != regopenkeyex(hkey_local_machine, szitempath, 0, null, &hitem))

if (error_success != regsetvalueex(hitem, item_value, 0, reg_dword,(lpbyte)&benablevalue,sizeof(benablevalue)))

exit:

return brs;

}

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

關於wow64的問題 32位程式執行在64位系統上操作登錄檔會出現問題,在上篇已經有詳細的說明了,因此,這一節不再重複。十。列舉鍵值 值項 regenumvalue函式 long winapi regenumvalue in hkey hkey,in dword dwindex,out lptstr...

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 ...