应一个网友的需求,写了下面的,获取本机安装的软件的清单,希望对有需要的人,有帮助吧
using (RegistryKey key = Microsoft.Win32.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 = key2.GetValue("DisplayName", "").ToString();
string installLocation = key2.GetValue("InstallLocation", "").ToString();
if (!string.IsNullOrEmpty(installLocation))
{
this.textBox1.AppendText(string.Format("软件名:{0} -- 安装路径:{1}\r\n", softwareName, installLocation));
}
}
}
}
}
}
将取得的结果,放入 textBox1 中显示,每行一个。
分享到:
相关推荐
通过注册表获取软件清单是有效的方法之一。 首先,C#程序访问Windows注册表需要使用到`Microsoft.Win32.Registry`命名空间下的`RegistryKey`类。该类为注册表项提供了一个逻辑分层视图,包括根项(如`Registry....
3. **Windows API调用**:为了获取电脑上的软件清单,可能需要使用Windows操作系统提供的API函数,例如通过注册表(Registry)来获取已安装软件的信息。 4. **文件操作**:读取和写入Excel文件需要特定的库支持,如...
这个工具可能是用C#或VB.NET等.NET Framework语言编写的,利用.NET Framework提供的API来读取注册表和生成Excel文件。使用这样的工具可以简化上述过程,无需编写代码即可完成任务。但需要注意的是,从未知来源下载并...
5. **读取启动项**:如果需要检查或获取开机启动程序列表,可以使用`GetValueNames`和`GetValue`方法。例如: ```csharp string[] startupPrograms = runKey.GetValueNames(); foreach (string program in ...
实例199 获取本机安装的软件清单 实例200 禁止使用windows任务管理器 实例201 清除ie地址栏中的历史网址 实例202 将磁盘驱动器隐藏 实例203 禁止使用命令提示符 实例204 禁止修改ie浏览器主页 实例205 设置ie浏览器...
它可能是早期版本的数据文件,或者是数据库更新的日志,或者是无法以数据库格式读取的一些附加信息。 使用这样的工具可以帮助开发者快速集成Windows功能到C#应用中,尤其是在处理底层操作、系统级任务或增强性能时...
实例199 获取本机安装的软件清单 384 实例200 禁止使用windows任务管理器 385 实例201 清除ie地址栏中的历史网址 387 实例202 将磁盘驱动器隐藏 388 实例203 禁止使用命令提示符 390 实例204 禁止修改ie浏览器主页 ...
18.1 注册表编程 .235 18.2 在 C #代码中调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 ...
C#中的`Microsoft.Win32.Registry`命名空间提供了访问注册表的类,如`RegistryKey`,可以通过它来读取、写入或删除注册表项。例如,我们可以创建一个新的`RegistryKey`对象,然后将程序的路径添加到适当的键值中。 ...