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