我现在需要到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform]中获取值,比如在此中有个“字符串值”的QQ,值为2010,怎么获取到QQ=2010呢?

解决方案 »

  1.   

    RegistryKey hklm = Registry.LocalMachine;
    RegistryKey hkPP = hklm.OpenSubKey("Software").OpenSubKey("Microsoft").OpenSubKey("Windows").OpenSubKey("CurrentVersion").OpenSubKey("Internet Settings").OpenSubKey("User Agent").OpenSubKey("Post Platform");
    if (hkPP == null)
    {
          MessageBox.Show("未找到Post Platform信息。");
          return;
    }
    string qq = null;
    foreach (string tmp in hkPP.GetSubKeyNames())
    {
          if (tmp.Contains("QQ"))
          {
               qq = tmp;
               break;
          }
    }
    if (qq == null)
    {
        MessageBox.Show("未找到QQ相关信息。");
        return;
    }
    String qqValue = (string)hkPP.GetValue("QQ");
      

  2.   

    RegistryKey 这个是什么呀,需要using吗?
      

  3.   

    hkPP.GetSubKeyNames()
    为什么我得到的这个值是空的呢?
      

  4.   


                RegistryKey rkey = Registry.LocalMachine;            RegistryKey rkey1 = rkey.OpenSubKey(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform", false);            if (rkey1 == null || rkey1.GetValue("QQ") == null)
                    return LanguageSet.English;
                else
                    return (LanguageSet)int.Parse(rkey1.GetValue("QQ").ToString());
      

  5.   


    RegistryKey rkey = Registry.LocalMachine;  RegistryKey rkey1 = rkey.OpenSubKey(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform", false);  if (rkey1 == null || rkey1.GetValue("QQ") == null)
          // there is not the key named QQ
      else
          return int.Parse(rkey1.GetValue("QQ").ToString());
      

  6.   


     RegistryKey rkey1 = rkey.OpenSubKey(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform", false);

      

  7.   

    应该把HKEY_LOCAL_MACHINE删掉,csdn的格式真让人受不了