Форум: "Основная";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];
ВнизУдаление ключа в реестре Найти похожие ветки
← →
R (2003-03-12 01:37) [0]Мастера ниже приведен код который в зависимости от
состояния чекета в CheckBox1 создает ключ автозапуска программы или удаляет его, где ошибка, почему ключ создается но не
удаляется?
var
REG:TRegistry;
begin
//Автозапуск
REG:=nil;
try
REG:=TRegistry.create;
REG.RootKey:=HKEY_CURRENT_USER;
If CheckBox1.Checked Then begin
If REG.OpenKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run",true) Then begin
REG.WriteString("Program1",Application.ExeName);
end
Else ----------------------("Ошибка использования системного реестра.");
end
Else begin
If REG.OpenKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run",true) Then begin
REG.DeleteKey("Program1");
end;
end;
finally
REG.CloseKey;
REG.Free;
end;
← →
R (2003-03-12 04:53) [1]????????????????????????????????????????????????????
| |
| ??????????????? |
| |
????????????????????????????????????????????????????
← →
Anatoly Podgoretsky (2003-03-12 08:03) [2]Потому что "Program1" не ключ!
← →
R (2003-03-12 08:45) [3]Подскажите как сделать правильно.
← →
Cobalt (2003-03-12 08:58) [4]АП имел в виду, что это не ключ, а параметр(Value). Для его удаления надо записать в него nil (если не ошибаюсь, проверь по документации)
← →
sask (2003-03-12 09:17) [5]
Reg.DeleteValue("Program1")
← →
Anatoly Podgoretsky (2003-03-12 09:24) [6]R (12.03.03 01:37)
R (12.03.03 08:45)
Вот этот вопрос сразу и надо было задавать, я бы не стал тогда тратиь время на объяснение почему не работает.
С твоей же стороны достаточно было после объяснения посмотреть в справке, а какие еще есть удаления.
← →
R (2003-03-12 09:35) [7]1.Если честно что-то я окнчательно запутался
вот пример из справки Anatoly Podgoretsky © я его смотрел
раз сто прежде чем идти на форум
procedure TForm1.Button1Click(Sender: TObject);
var
Reg: TRegistry;
Val:TStringList;
I:Integer;
begin
Reg:=TRegistry.Create;
try
Val:=TStringList.Create;
try
Reg.RootKey:=HKey_Local_Machine; // Section to look for within the registry
if not Reg.OpenKey(Edit1.Text,False) then
ShowMessage("Error opening key")
else
begin
Reg.GetValueNames(Val);
for I:=0 to Val.Count-1 do
begin
ShowMessage(Edit1.Text + Chr(13) +
"has an Entry Called "+Val.Strings[I]+Chr(13)+
"With a Value of "+Reg.ReadString(Val.Strings[I]));
end;
if MessageDlg("Ok to delete the key and lose all these values?"
,Mtinformation,[mbYes,mbNo],0)=mryes then
Reg.DeleteKey(Edit1.Text);
end;
finally
Val.Free;
end;
finally
Reg.Free;
end;
end;
2. sask ©
Reg.DeleteValue("Program1") не удаляет.
← →
Sheriff (2003-03-12 09:42) [8]var Reg: TRegIniFile;
begin
Reg:=TRegIniFile.Create("SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
try
if StartWithWindows.Checked then Reg.WriteString("","MyProgram",Application.ExeName)
else Reg.DeleteKey("","MyProgram");
finally Reg.Free; end;
end;
← →
R (2003-03-12 09:57) [9]Спасибо всем кто помог.
Вот это ошибка:
"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
А это нет
"\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c