2012-07-26 70 views
1

如何使用注册表在程序停止后使用它的前一文本填充文本框。如何使用注册表来重新填充文本框

我读到这样多篇文章:

Stack OverFlow1

Stack OverFlow2

Code Project1

Code Project2

到目前为止,我还没有,因为没有什么工作了,所有我得到的是错误的D:

 public string Read(string KeyName) 
    { 
     RegistryKey rk = baseRegistryKey ; 
     RegistryKey sk1 = rk.OpenSubKey(subKey); 
     if (sk1 == null) 
       return null; 
     else 
     { 
      try 
      { 
        return (string)sk1.GetValue(KeyName.ToUpper()); 
      }  
      catch (Exception ex) 
      { 

      } 
     } 
    } 

说baseRegistryKey和subKey不存在。它说RegistryKey不存在。我如何修复?

+4

请告诉我们您正在使用的代码(不是您阅读过的文章的链接)并告诉我们特殊情况实际上你得到了什么错误。 – Jason 2012-07-26 21:27:13

+1

你还没有定义变量baseRegistryKey或subKey,我可以告诉任何地方。所以它们不存在是有道理的。用于将数据写入注册表的代码在哪里?那里使用的注册表项是什么? – Gambit 2012-07-26 21:38:33

+0

@Gambit雅有人已经表示,作为答案。谢谢,现在一切都很好。 – TriggerHappyMoron 2012-07-26 21:57:47

回答

1

几天前我有同样的问题,不要使用那些景点,它们都是坏的。

有几件事情你的代码错误:

  • baseRegistryKey和子项需要设定某种的参数。
  • 如果RegisterKey不工作可能比你没有做using Microsoft.Win32
  • 我来解决,这是该代码:

    public WindowsConsoleForm1(); 
        try 
        { 
         InitializeComponent(); 
         textBox1.Text = Application.UserAppDataRegistry.GetValue("example").ToString(); 
        } 
        catch { } 
    
  • ,然后在任何你有例如:textbox1.text = Path.GetDirectoryName(saveFileDialoge1.FileName);,在它后面您发布Application.UserAppDataRegistry.SetValue("example", textbox1.text);