Reg:= TRegistry.Create;
try
  Reg.RootKey:= HKEY_CURRENT_USER;
  if Reg.OpenKey('\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUNONCE',True) then begin
     Reg.WriteString('REGCODE',11F2);
     Reg.CloseKey;
  end;
finally
  Reg.Free;
end;
这么写的代码,在重起或注销计算机时候,注册表中的11F2丢失,请各位赐教~~~~~~~~谢谢

解决方案 »

  1.   

    Reg.WriteString('REGCODE','11F2');
      

  2.   

    呵呵:这样写Reg.WriteString('REGCODE','11F2');结果一样啊
    本来是这么写的 Reg.RootKey:= HKEY_CURRENT_USER;
      if Reg.OpenKey('\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUNONCE',True) then begin
         Reg.WriteString('REGCODE',Edit4.Text+Edit5.Text+Edit6.Text+Edit7.Text+Edit8.Text);
         Reg.CloseKey;
        这样还能把Edit4.Text+Edit5.Text+Edit6.Text+Edit7.Text+Edit8.Text内容写入注册表,而Reg.WriteString('REGCODE','Edit4.Text+Edit5.Text+Edit6.Text+Edit7.Text+Edit8.Text');
    写入的是Edit4.Text+Edit5.Text+Edit6.Text+Edit7.Text+Edit8.Text了
    请高手帮忙~
      

  3.   

    就是把Edit4.Text+Edit5.Text+Edit6.Text+Edit7.Text+Edit8.Text 的内容写入注册表中,重起计算机以后写入的值丢失了,也许是我表达的不清楚~因为没用过dephi和这个网站~~~~~~~~~~~
      

  4.   

    我晕
    RunOnce下的东西,Windows会自动清除的,很简单的,都说了是“运行一次”
    这个是系统清除某些卸载程序时使用的临时地方想保存就不要放在这个键下!
    http://lysoft.7u7.net
      

  5.   

    高手再指教,又有新的问题了
     Reg.WriteString('REGCODE',Edit4.Text+Edit5.Text+Edit6.Text+Edit7.Text+Edit8.Text);
    写入注册,怎么判断是通过这个语句写入的还是手工写入的!!
      

  6.   

    是这样,通过上面的程序REGCODE写入的值为00000000000,我现在先判断是通过上面程序写入的值,而不是打开注册表在其中建立的REGCODE而赋予的000000000000,请大虾们指点!!!!!