C#通過windows注冊表獲取軟件清單的方法
更新時間:2015年07月15日 15:11:29 作者:搶小孩糖吃
這篇文章主要介紹了C#通過windows注冊表獲取軟件清單的方法,涉及C#針對注冊表的訪問讀取與遍歷操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了C#通過windows注冊表獲取軟件清單的方法。分享給大家供大家參考。具體如下:
foreach (string SoftwareName in Object.SoftwareList())
{
textBox.Text += SoftwareName + Environment.NewLine;
}
////////////////////////////////////////////////////////////////////////
/// <summary>
/// Windows系統(tǒng)獲取軟件列表
/// </summary>
/// <returns>String [] softwareList</returns>
public String [] SoftwareList()
{
String[] softwareList = null;
//動態(tài)數(shù)組
ArrayList list = new ArrayList();
try
{
//打開注冊列表卸載選項
//SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
RegistryKey Key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall");
if (Key != null)//如果系統(tǒng)禁止訪問則返回null
{
foreach (String SubKeyName in Key.GetSubKeyNames())
{
//打開對應的軟件名稱
RegistryKey SubKey = Key.OpenSubKey(SubKeyName);
if (SubKey != null)
{
String SoftwareName = SubKey.GetValue("DisplayName", "Nothing").ToString();
//如果沒有取到,則不存入動態(tài)數(shù)組
if (SoftwareName != "Nothing")
{
list.Add(SoftwareName);
}
}
}
//強制轉(zhuǎn)換成字符串數(shù)組,防止被修改數(shù)據(jù)溢出
softwareList = (string[])list.ToArray(typeof(string));
}
}
catch (Exception err)
{
Console.WriteLine("出錯信息:" + err.ToString());
}
return softwareList;
}
希望本文所述對大家的C#程序設計有所幫助。
相關文章
C#中如何將MongoDB->RunCommand結(jié)果映射到業(yè)務類的方法總結(jié)
這篇文章主要給大家總結(jié)介紹了關于C#中如何將MongoDB->RunCommand結(jié)果映射到業(yè)務類的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2018-04-04
關于C#中使用Oracle存儲過程返回結(jié)果集的問題
Oracle中可以使用游標(Cursor)對數(shù)據(jù)集進行操作,但在存儲過程輸出參數(shù)中直接使用Cursor錯誤,下面小編給大家?guī)砹薈#中使用Oracle存儲過程返回結(jié)果集的問題,感興趣的朋友一起看看吧2021-10-10
.net C# 實現(xiàn)任意List的笛卡爾乘積算法代碼
笛卡爾(Descartes)乘積又叫直積。假設集合A={a,b},集合B={0,1,2},則兩個集合的笛卡爾積為{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}。2013-05-05

