读取注册表值,强制转换为String

时间:2016-09-02 18:44:57

标签: c# registry

我试图从注册表中读取REG_SZ值,然后将其转换为字符串供以后使用。

我使用

从注册表中读取它
"select * from empl3 limit "+4

但是,当我这样做时,会抛出异常,说

RegistryKey key
ArrayList m = new ArrayList();
if(Environment.is64BitOperatingSystem)
   key = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
else
   key = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);

if(key != null)
{
  object o = key.openSubKey(SOFTWARE\\xx\\yy\\zz).GetValue("Version")
  if (o != null)
    m.add(o.toString())
} 

我尝试投放此注册表值的方式是否存在问题? 我需要它作为一个字符串进行操作和比较。

1 个答案:

答案 0 :(得分:1)

固定!看起来不是转换为字符串就是问题所在。 我试图添加

o.toString()

ArrayList并将string添加到ArrayList导致了投射问题。

谢谢!