我做了一个小程序,想把程序放在注册表里,随系统一起启动,但不知为什么不行(下面是源代码)
<< 应用程序名是‘光驱控制器'’>>
procedure TForm1.FormCreate(Sender: TObject);
var
  RegF:TRegistry;
begin
  RegF:=TRegistry.Create;              // 创建注册表对象
  RegF.RootKey:=HKEY_LOCAL_MACHINE;    // 根键
  try
    if RegF.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True) then
      RegF.WriteString('光驱控制器',
        '''F:\Documents and Settings\w.kzjl\My Documents\学习目录\Delphi\Project1.exe''');
  Except
    MessageBox(self.Handle,'添加注册表失败!请与作者联系。','光驱控制器',MB_ICONERROR);
  end;
  RegF.CloseKey;
  RegF.Free;

解决方案 »

  1.   

    pReg.WriteString('Project',trim(Application.ExeName))
      

  2.   

    RegF.WriteString('光驱控制器',
            '''F:\Documents and Settings\w.kzjl\My Documents\学习目录\Delphi\Project1.exe''');
    这句有问题,改为:
          RegF.WriteString('光驱控制器',
            'F:\Documents and Settings\w.kzjl\My Documents\学习目录\Delphi\Project1.exe');
    为了更加灵活,改为:
          RegF.WriteString('光驱控制器',
            application.exeName);