正确的关于注册表的代码: 虽然是dephi的,但是原理和VC一样的
Procedure StartReg(yes:Boolean);
Var
reg : TRegistry;
Begin
reg := TRegistry.Create; //建立一个Registry
if Yes=true then
begin
with reg do
begin
RootKey:=HKEY_LOCAL_MACHINE; //设置根键值为HKEY_LOCAL_MACHINE
if OpenKey('SOFTWARE/Microsoft/Windows/CurrentVersion/Run',True)
then WriteString('mailer',ExtractFilePath(Application.Exename)+'mail.exe')
else ShowMessage('创建键值失败'); //创建键值失败
end; //End_With...do
end //End_If True_Begin
else
begin
with reg do
begin
RootKey:=HKEY_LOCAL_MACHINE; //设置根键值为HKEY_LOCAL_MACHINE
if OpenKey('SOFTWARE/Microsoft/Windows/CurrentVersion/Run',True)
then DeleteValue('mailer')
else ShowMessage('删除键值失败'); //键值失败
end; //End_With...do
end; //End_If False_Begin
Reg.CloseKey;
end;
删除一个值前一定要先打开一个键。开始不知道,试了很多次才成功删除,原来删除之前要先打开,我之前使用的是
RegCreateKey来操作的,难怪呢。
注册表操作(目前主要是删除添加操作)
最新推荐文章于 2025-11-21 10:44:20 发布
本文介绍了一个用Delphi实现的注册表操作示例,包括如何在HKEY_LOCAL_MACHINE下创建和删除键值。通过该示例可以了解到,在进行键值删除前必须先打开对应的键。
15

被折叠的 条评论
为什么被折叠?



