关于删除注册表信息问题

lh9823 2003-07-29 05:56:14
我做了一个服务程序 可以让用户选择是否在启动OS时启动该程序类似 SQL SERVER 2000的服务管理器
以下是部分代码
if chkStrat.Checked then
begin
Reg.RootKey:=HKEY_LOCAL_MACHINE;
if Reg.OpenKey ('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',false) then
begin
Reg.WriteString('ATMServer',Application.ExeName);
Reg.CloseKey;
end
else
Reg.DeleteKey('ATMServer')
但是现在的问题是删除不了这个注册表信息
请问如何解决 急 我只能给100分 麻烦大家帮帮忙 在线等 急
...全文
41 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
things 2003-07-29
  • 打赏
  • 举报
回复
不是吧,我刚试验好,还好我的够简单

procedure TForm1.Button1Click(Sender: TObject);
var
Reg : TRegistry;
begin
with Reg do
try
Reg := TRegistry.Create;
RootKey := HKEY_LOCAL_MACHINE;
OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run', False);
if chkStrat.Checked then
WriteString('ATMServer', Application.ExeName)
else
DeleteValue('ATMServer');
CloseKey;
finally
Free;
end;
end;

mrtxc 2003-07-29
  • 打赏
  • 举报
回复
if chkStrat.Checked then
begin
Reg.RootKey:=HKEY_LOCAL_MACHINE;
if Reg.OpenKey ('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',false) then
begin
Reg.WriteString('ATMServer',Application.ExeName);
Reg.CloseKey;
end
else
   begin
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey ('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',false)
Reg.DeleteKey('ATMServer')
end;
lh9823 2003-07-29
  • 打赏
  • 举报
回复
自己已经解决
应该是用DeleteValue函数

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧