function AutoRunInReg(RW: Boolean; FileName, FilePath: string): Boolean;
var
Reg: Tregistry;
begin
FileName := ExtractFileName(application.ExeName); //开机启动的执行程序名
FilePath := application.ExeName; //完整路径
Reg := Tregistry.Create;
try
Reg.Rootkey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', true);
if RW then
Reg.WriteString(FileName, FilePath) //添加注册表项和键值
else
Reg.DeleteKey(FileName);
Reg.CloseKey; //关闭注册表
finally
Reg.Free;
end;
end;procedure TForm1.btn1Click(Sender: TObject);
begin
AutoRunInReg(True,'regTest.exe','U:\MyDelphiPro\Reg\regTest.exe');
end;procedure TForm1.btn2Click(Sender: TObject);
begin
AutoRunInReg(False,'regTest.exe','');
end;点击了 Btn2,键值还在啊,请问错在哪里啦?
var
Reg: Tregistry;
begin
FileName := ExtractFileName(application.ExeName); //开机启动的执行程序名
FilePath := application.ExeName; //完整路径
Reg := Tregistry.Create;
try
Reg.Rootkey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', true);
if RW then
Reg.WriteString(FileName, FilePath) //添加注册表项和键值
else
Reg.DeleteKey(FileName);
Reg.CloseKey; //关闭注册表
finally
Reg.Free;
end;
end;procedure TForm1.btn1Click(Sender: TObject);
begin
AutoRunInReg(True,'regTest.exe','U:\MyDelphiPro\Reg\regTest.exe');
end;procedure TForm1.btn2Click(Sender: TObject);
begin
AutoRunInReg(False,'regTest.exe','');
end;点击了 Btn2,键值还在啊,请问错在哪里啦?
解决方案 »
- 为什么我的贴子没人回答,分都给不了,http://community.csdn.net/Expert/topic/5135/5135508.xml?temp=.2909204,http://community.csdn
- 还是我,还是那几个问题,为什么大家不能详细些告诉我!!!!
- 我的这段程序为何老是出错?请大家帮忙. list index out of bounds(3);
- 急!!!!,怎样从EXCEL表中读数据?
- com+安装问题
- 高难度,图形处理问题请教,诚心请教,能否提供此算法例子
- 怎么在较大循环中多次getmem,和freemem会出现莫名奇妙的错误,如何解决?
- 出路?敢问在何处?
- 请问在delphi程序中能不能对另一个EXE的中的一个窗口中的一个Edit输入一个值??
- D5中的ADO如何按字段名取得其所对应的值?
- 怎么添加启动项?
- 请教.FloatToStr(124.0)的结果为什么会是 123.999992212881
我改了,可以啦,但是还有一个问题:AutoRunInReg(True,'MyRun','U:\MyDelphiPro\Reg\regTest.exe');生成的键在注册表里怎么显示是RegTest.exe,而不是MyRun呢,
不过用
AutoRunInReg(False,'MyRun','');
还是可以删除啦,有点弄不明白啦~