C#通過(guò)windows注冊(cè)表獲取軟件清單的方法
更新時(shí)間:2015年07月15日 15:11:29 作者:搶小孩糖吃
這篇文章主要介紹了C#通過(guò)windows注冊(cè)表獲取軟件清單的方法,涉及C#針對(duì)注冊(cè)表的訪問(wèn)讀取與遍歷操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了C#通過(guò)windows注冊(cè)表獲取軟件清單的方法。分享給大家供大家參考。具體如下:
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;
//動(dòng)態(tài)數(shù)組
ArrayList list = new ArrayList();
try
{
//打開(kāi)注冊(cè)列表卸載選項(xiàng)
//SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
RegistryKey Key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall");
if (Key != null)//如果系統(tǒng)禁止訪問(wèn)則返回null
{
foreach (String SubKeyName in Key.GetSubKeyNames())
{
//打開(kāi)對(duì)應(yīng)的軟件名稱(chēng)
RegistryKey SubKey = Key.OpenSubKey(SubKeyName);
if (SubKey != null)
{
String SoftwareName = SubKey.GetValue("DisplayName", "Nothing").ToString();
//如果沒(méi)有取到,則不存入動(dòng)態(tài)數(shù)組
if (SoftwareName != "Nothing")
{
list.Add(SoftwareName);
}
}
}
//強(qiáng)制轉(zhuǎn)換成字符串?dāng)?shù)組,防止被修改數(shù)據(jù)溢出
softwareList = (string[])list.ToArray(typeof(string));
}
}
catch (Exception err)
{
Console.WriteLine("出錯(cuò)信息:" + err.ToString());
}
return softwareList;
}
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
Unity UGUI實(shí)現(xiàn)卡片橢圓方向滾動(dòng)
這篇文章主要為大家詳細(xì)介紹了UGUI實(shí)現(xiàn)卡片橢圓方向滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03
C#中如何將MongoDB->RunCommand結(jié)果映射到業(yè)務(wù)類(lèi)的方法總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于C#中如何將MongoDB->RunCommand結(jié)果映射到業(yè)務(wù)類(lèi)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2018-04-04
C#簡(jiǎn)單實(shí)現(xiàn)IOC容器的示例代碼
IoC 的原理是通過(guò)將對(duì)象的創(chuàng)建和依賴(lài)關(guān)系的管理交給外部容器來(lái)實(shí)現(xiàn),從而降低了代碼的耦合度,提高了代碼的可維護(hù)性和可測(cè)試性,下面我們就來(lái)看看如何通過(guò)C#實(shí)現(xiàn)一個(gè)IOC容器吧2024-02-02
關(guān)于C#中使用Oracle存儲(chǔ)過(guò)程返回結(jié)果集的問(wèn)題
Oracle中可以使用游標(biāo)(Cursor)對(duì)數(shù)據(jù)集進(jìn)行操作,但在存儲(chǔ)過(guò)程輸出參數(shù)中直接使用Cursor錯(cuò)誤,下面小編給大家?guī)?lái)了C#中使用Oracle存儲(chǔ)過(guò)程返回結(jié)果集的問(wèn)題,感興趣的朋友一起看看吧2021-10-10
.net C# 實(shí)現(xiàn)任意List的笛卡爾乘積算法代碼
笛卡爾(Descartes)乘積又叫直積。假設(shè)集合A={a,b},集合B={0,1,2},則兩個(gè)集合的笛卡爾積為{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}。2013-05-05
服務(wù)器端C#實(shí)現(xiàn)的CSS解析器
服務(wù)器端C#實(shí)現(xiàn)的CSS解析器2008-09-09

