呵呵,注册表的读写有KeyExist、ValueExist方法,你可以在读写的时候先判断一下是否已经存在
一个值。例:
RegTest:=TRegistry.Create;
RegTest.RootKey:=HKEY_LOCAL_MACHINE;
RegTest.OpenKey('SOFTWARE/Microsoft/Windows/CurrentVersion/Run',True);
if not RegTest.KeyExists('FirstRun')then begin
RegTest.CreateKey('FirstRun');
if not RegTest.ValueExists('第一次运行') then
RegTest.WriteString('已经运行',ParamStr(0));
n5.Checked:=True;
end else
n5.Checked:=RegTest.ValueExists('已经运行');
RegTest.CloseKey;
RegTest.Free;
//N5为一个CheckBox1