C#实现读取注册表监控当前操作系统已安装软件变化的方法
本文实例讲述了C#实现读取注册表监控当前操作系统已安装软件变化的方法。分享给大家供大家参考。具体实现方法如下:
privatestaticHybridDictionaryGetSoftName()
{
stringstrSoftName=string.Empty;
HybridDictionaryhdSoftName=newHybridDictionary();
/*对注册表节点"Software/Microsoft/Windows/CurrentVersion/Uninstall"下的内容进行操作。
RegistryKeyRegistry为注册表操作类*/
using(RegistryKeykey=Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall",false))
{
if(key!=null)
{
foreach(stringkeyNameinkey.GetSubKeyNames())
{
using(RegistryKeykey2=key.OpenSubKey(keyName,false))
{
if(key2!=null)
{
stringsoftwareName=Convert.ToString(key2.GetValue("DisplayName"));//获取DisplayName,如存在值,则系统中安装有该软件
//stringinstallLocation=key2.GetValue("InstallLocation","").ToString();//软件安装路径
if(!string.IsNullOrEmpty(softwareName))
{
if(!hdSoftName.Contains(softwareName))
{
hdSoftName.Add(softwareName,string.Empty);//将软件名作为集合的key
}
}
}
}
}
}
}
returnhdSoftName;
}
希望本文所述对大家的C#程序设计有所帮助。