我做了一个小程序,想把程序放在注册表里,随系统一起启动,但不知为什么不行(下面是源代码)
<< 应用程序名是‘光驱控制器'’>>
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;
<< 应用程序名是‘光驱控制器'’>>
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;
'''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);