C#實(shí)現(xiàn)讀取注冊(cè)表監(jiān)控當(dāng)前操作系統(tǒng)已安裝軟件變化的方法
更新時(shí)間:2015年08月21日 12:36:26 作者:我心依舊
這篇文章主要介紹了C#實(shí)現(xiàn)讀取注冊(cè)表監(jiān)控當(dāng)前操作系統(tǒng)已安裝軟件變化的方法,涉及C#針對(duì)注冊(cè)表的讀取與監(jiān)控技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了C#實(shí)現(xiàn)讀取注冊(cè)表監(jiān)控當(dāng)前操作系統(tǒng)已安裝軟件變化的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
private static HybridDictionary GetSoftName() { string strSoftName = string.Empty; HybridDictionary hdSoftName = new HybridDictionary(); /*對(duì)注冊(cè)表節(jié)點(diǎn)"Software/Microsoft/Windows/CurrentVersion/Uninstall"下的內(nèi)容進(jìn)行操作。 RegistryKey Registry 為注冊(cè)表操作類*/ using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall", false)) { if (key != null) { foreach (string keyName in key.GetSubKeyNames()) { using (RegistryKey key2 = key.OpenSubKey(keyName, false)) { if (key2 != null) { string softwareName = Convert.ToString(key2.GetValue("DisplayName"));//獲取DisplayName,如存在值,則系統(tǒng)中安裝有該軟件 //string installLocation = key2.GetValue("InstallLocation", "").ToString();//軟件安裝路徑 if (!string.IsNullOrEmpty(softwareName)) { if (!hdSoftName.Contains(softwareName)) { hdSoftName.Add(softwareName, string.Empty);//將軟件名作為集合的key } } } } } } } return hdSoftName; }
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
深入多線程之:解析線程的交會(huì)(Thread Rendezvous)詳解
本篇文章是對(duì)線程的交會(huì)(Thread Rendezvous)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C#中使用反射遍歷一個(gè)對(duì)象屬性及值的小技巧
這篇文章主要介紹了C#中使用反射遍歷一個(gè)對(duì)象屬性及值的小技巧,這在很時(shí)候應(yīng)該都非常有用,本文直接給出實(shí)例代碼,需要的朋友可以參考下2015-07-07c#和avascript加解密之間的互轉(zhuǎn)代碼分享
這篇文章主要介紹了c#和Javascript間互轉(zhuǎn)的Xxtea加解密代碼,需要的朋友可以參考下2014-02-02簡(jiǎn)單掌握Windows中C#啟動(dòng)外部程序進(jìn)程的方法
這篇文章主要介紹了Windows中C#啟動(dòng)外部程序進(jìn)程的方法,例子中同時(shí)包括了進(jìn)程關(guān)閉的方法,需要的朋友可以參考下2016-03-03