如何在此代码中的文本框中显示信息?

时间:2015-05-19 21:45:01

标签: c# textbox return-value boolean-logic registrykey

我正在开发一种小工具,主要在主机上查找多个已安装的软件。我找到了一段代码,这是一个更好的程序员在C#中组合在一起的代码,但是,我想知道两件事。 1.如何使用注册表标题替换搜索已安装的软件?其次,我希望信息在文本框中显示找到的软件的名称。下面是代码。

{{1}}

1 个答案:

答案 0 :(得分:0)

试试这个 - 评论是内联的。我假设检索密钥的代码是正确的。还要记住,不同的系统具有不同的注册表项,因此您需要创建逻辑来识别运行它的系统,然后浏览可能的位置,并且您可能还需要创建逻辑,这将清除重复的程序名称。

// This is just to show that you need to create text box which needs to be set to multiline
var tb = new TextBox();
tb.Multiline = true;

// search in: LocalMachine_32
key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall");
foreach (String keyName in key.GetSubKeyNames())
{
    RegistryKey subkey = key.OpenSubKey(keyName);
    // here just add a line with a program name        
    string name = subkey.GetValue("DisplayName") as string;      
    if (!string.IsNullOrEmpty(name))
    {
        tb.Text += name;
        tb.Text += "\n\r";
    }
}