遞迴遍歷登錄檔

2021-10-05 09:41:14 字數 707 閱讀 4086

首先描述下寫這個**的思路,我的本意是想要從windows 2000登錄檔裡獲取pc已安裝的補丁資訊,已知路徑hkey_local_machine\\software\\microsoft\\updates,但是它下面還有很多路徑,由於我只有這一台虛擬機器,所以不敢確定其他2000的pc也是這種固定路徑,所以打算遞迴遍歷hkey_local_machine\\software\\microsoft\\updates下面所有的項,然後過濾掉不含kb的項。一開始想一氣呵成,把所有流程寫完,但是寫完發現把自己繞坑里了。後面濾清思路,先寫個遞迴遍歷登錄檔的,然後再在裡面新增todo。果然很快就搞定了。

遞迴遍歷登錄檔的思路:

void search()

遞迴遍歷登錄檔的**:

void searchkey(hkey hkey, lpctstr lpsubkey)

; if (error_success == regopenkeyex(hkey, lpsubkey, 0, key_all_access, &hsubkey))

if (csubkeys != 0 && achkey != null)

}return csubkeys;

}

登錄檔的遍歷和遞迴

1.遍歷。用於查詢某鍵 無子鍵 下面的所有值。以下示例了在win7下查詢所有設定了相容性的程式 tchar szdata max path for i wstring str subkey tprintf s t t d s 設定相容性為 s n i,subkey,szdata if bfindco...

遍歷登錄檔

123 open register key 4if regopenkeyex hkey current user,software oki ccons33 unittype 0,key all access,oldhkey error success 527 28 print the key and...

遍歷刪除登錄檔

dword deletetree hkey rootkey,const char psubkey nret regqueryinfokey hkey,null,null,null,keycnt,keymaxlen,null,namecnt,namemaxlen,maxdatelen,null,nul...