Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\TEC\OCULAR.3\SERVER]
"V3REG_SN"=hex:e9,0a,97,44,67,cd,5f,88,2e,6d,f2,5e,50,7b,a7,ed,fe,21,19,9d,de,\
  29,13,48,32,9c,27,51,3f,69,33,62,17,59,25,ca,5d,3a,7a,e1,33,66,89,5f,88,75,\
  e1,56,e9,31,7e,1e,9e,03,25,90,31,ea,55,7e,f3,06,65,00,d9,9b,9c,7b,bb,d6,6d,\
  d6,db,4a,c0,58,00,b6,21,eb我想把上面的值写到注册表中去,但是通过程序写和直接导入的结果是不一样的,请问是什么问题我的代码
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\TEC\OCULAR.3\SERVER", true);
string V3REG_SN = "e9,0a,97,44,67,cd,5f,88,2e,6d,f2,5e,50,7b,a7,ed,fe,21,19,9d,de,29,13,48,32,9c,27,51,3f,69,33,62,17,59,25,ca,5d,3a,7a,e1,33,66,89,5f,88,75,e1,56,e9,31,7e,1e,9e,03,25,90,31,ea,55,7e,f3,06,65,00,d9,9b,9c,7b,bb,d6,6d,d6,db,4a,c0,58,00,b6,21,eb";
                byte[] V3REG_SN_B = new byte[10000];
                V3REG_SN_B = Convert.FromBase64String(V3REG_SN.Replace(",", ""));
                key.SetValue("V3REG_SN", V3REG_SN_B, RegistryValueKind.Binary);

解决方案 »

  1.   

    byte[] V3REG_SN_B = new byte[]
    {0xe9,0x0a,0x97,0x44,0x67,0xcd, ...};
      

  2.   

    RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\TEC\OCULAR.3\SERVER", true); 
    string V3REG_SN = "e9,0a,97,44,67,cd,5f,88,2e,6d,f2,5e,50,7b,a7,ed,fe,21,19,9d,de,29,13,48,32,9c,27,51,3f,69,33,62,17,59,25,ca,5d,3a,7a,e1,33,66,89,5f,88,75,e1,56,e9,31,7e,1e,9e,03,25,90,31,ea,55,7e,f3,06,65,00,d9,9b,9c,7b,bb,d6,6d,d6,db,4a,c0,58,00,b6,21,eb"; key.SetValue("V3REG_SN", V3REG_SN);
      

  3.   

    V3REG_SN_B = Convert.FromBase64String(V3REG_SN.Replace(",", "")); 我还没用过,值得研究一下,我写注册表都用笨办法RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\TEC\OCULAR.3\SERVER", true); 
    string V3REG_SN = "e9,0a,97,44,67,cd,5f,88,2e,6d,f2,5e,50,7b,a7,ed,fe,21,19,9d,de,29,13,48,32,9c,27,51,3f,69,33,62,17,59,25,ca,5d,3a,7a,e1,33,66,89,5f,88,75,e1,56,e9,31,7e,1e,9e,03,25,90,31,ea,55,7e,f3,06,65,00,d9,9b,9c,7b,bb,d6,6d,d6,db,4a,c0,58,00,b6,21,eb"; 
                    
                    //byte[] V3REG_SN_B = new byte[10000]; 
                    //V3REG_SN_B = Convert.FromBase64String(V3REG_SN.Replace(",", "")); 

                                string[] V3REG_SN_str=V3REG_SN.Split(new Char[] {","});
                byte[] V3REG_SN_B = new byte[V3REG_SN_str.Length];
                for (int i = 0; i < V3REG_SN_str.Length;i++ )
                   V3REG_SN_B = Convert.ToByte(V3REG_SN_str[i], 16);
    key.SetValue("V3REG_SN", V3REG_SN_B, RegistryValueKind.Binary);
             
      

  4.   

    string[] V3REG_SN_str=V3REG_SN.Split(new Char[] {','});
                byte[] V3REG_SN_B = new byte[V3REG_SN_str.Length];
                for (int i = 0; i < V3REG_SN_str.Length;i++ )
                    V3REG_SN_B[i] = Convert.ToByte(V3REG_SN_str[i], 16);
      

  5.   

    RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\TEC\OCULAR.3\SERVER", true); 
    string V3REG_SN = "e9,0a,97,44,67,cd,5f,88,2e,6d,f2,5e,50,7b,a7,ed,fe,21,19,9d,de,29,13,48,32,9c,27,51,3f,69,33,62,17,59,25,ca,5d,3a,7a,e1,33,66,89,5f,88,75,e1,56,e9,31,7e,1e,9e,03,25,90,31,ea,55,7e,f3,06,65,00,d9,9b,9c,7b,bb,d6,6d,d6,db,4a,c0,58,00,b6,21,eb"; 
                    
    string[] V3REG_SN_str=V3REG_SN.Split(new Char[] {","}); 
    byte[] V3REG_SN_B = new byte[V3REG_SN_str.Length]; 
    for (int i = 0; i < V3REG_SN_str.Length;i++ ) 
         V3REG_SN_B = Convert.ToByte(V3REG_SN_str[i], 16); key.SetValue("V3REG_SN", V3REG_SN_B, RegistryValueKind.Binary); 
      

  6.   

    string[] V3REG_SN_str=V3REG_SN.Split(new Char[] {','}); 
                byte[] V3REG_SN_B = new byte[V3REG_SN_str.Length]; 
                for (int i = 0; i < V3REG_SN_str.Length;i++ ) 
                    V3REG_SN_B[i] = Convert.ToByte(V3REG_SN_str[i], 16);
    key.SetValue("V3REG_SN", V3REG_SN_B, RegistryValueKind.Binary); 代码报错
      

  7.   

    RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\TEC\OCULAR.3\SERVER", true); 改成RegistryKey key = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\TEC\OCULAR.3\SERVER"); 在我的机器上没问题了.
      

  8.   


                RegistryKey key = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\TEC\OCULAR.3\SERVER");
                string V3REG_SN = "e9,0a,97,44,67,cd,5f,88,2e,6d,f2,5e,50,7b,a7,ed,fe,21,19,9d,de,29,13,48,32,9c,27,51,3f,69,33,62,17,59,25,ca,5d,3a,7a,e1,33,66,89,5f,88,75,e1,56,e9,31,7e,1e,9e,03,25,90,31,ea,55,7e,f3,06,65,00,d9,9b,9c,7b,bb,d6,6d,d6,db,4a,c0,58,00,b6,21,eb";
                string[] V3REG_SN_str = V3REG_SN.Split(new Char[] { ',' });
                byte[] V3REG_SN_B = new byte[V3REG_SN_str.Length];
                for (int i = 0; i < V3REG_SN_str.Length; i++)
                    V3REG_SN_B[i] = Convert.ToByte(V3REG_SN_str[i], 16);
                key.SetValue("V3REG_SN", V3REG_SN_B, RegistryValueKind.Binary);