讀取登錄檔獲取計算機上已安裝程式的資訊

2021-09-27 08:12:15 字數 1161 閱讀 6983

1、結構體software用於記錄每個安裝程式的具體資訊

1

struct

software

2;

2、函式getsoftlist用於獲取計算機上已安裝程式的全部資訊,接受vector引用型別的引數,並將獲取的全部資訊存放在該vector中。

windows 系統中,安裝程式都可以在登錄檔 hkey_local_machine\software\microsoft\windows\currentversion\uninstall 獲取。

1

void getsoftlist( std::vector&lst, bool is64 )215

16 dword csubkeys = 0; //

子鍵數量

17 dword cbmaxsubkey = 0; //

子鍵名稱的最大長度

18 dword retcode = regqueryinfokey(hkey, 0, 0, 0, &csubkeys, &cbmaxsubkey, 0, 0, 0, 0, 0, 0

);19

20for (int i=0; i<(int)csubkeys; i++)

21; //

子鍵名稱

23 dword cbname = max_path; //

子鍵名稱的大小

2425

//列舉子鍵資訊

26 retcode = regenumkeyex(hkey, i, achkey, &cbname, null, null, null, null);

27if (retcode ==error_success)

2834}35

36regclosekey(hkey);

37 }

3、函式_querysoft獲取結構體成員資訊

1

void _querysoft(hkey hkey, lpctstr lpsubkey, bool is64, std::vector&lst) 256

57//

加入陣列

58lst.push_back(soft);

59 }

Qt 獲取當前計算機已安裝的軟體(登錄檔方式)

最近在寫一些關於獲取本機資訊的函式,大多數獲取方式都可以通過呼叫windows開發的api得到,當前qt也有封裝一寫api可以直接獲取到計算機的資訊,如獲取主機名只用 qhostinfo localhostname 可以獲取到。除了這兩種方式還有一種就是用登錄檔方式獲取,但是這種方式有個弊端就是,有...

讀取登錄檔獲取安裝軟體資訊

一 主要記錄主動寫入登錄檔安裝路徑,程式查詢安裝路徑並啟動相應的程式。1 寫入登錄檔程式的路徑,如下圖 2 封裝讀取固定登錄檔方法 讀取 登錄檔路徑 登錄檔對應的專案名稱 public static string getvalue string keypath,string keyname fina...

登錄檔設定計算機開機啟動項

暫時知道3處 3 hkey local machine software microsoft windows nt currentversion winlogon鍵下的userinit desktplayer.exe是rmnet蠕蟲病毒。userinit.exe程式 系統剛啟動時,如果你調出任務管理...