Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
7-76705
Le!
2003-01-18 08:50
2003.03.24
LPT под XP!


3-76366
PVOzerski
2003-03-06 10:38
2003.03.24
Нужна разумная идея


1-76440
Tundra
2003-03-11 16:10
2003.03.24
Кто помнит как конвертировать String в Pchar ?


14-76654
Vavan
2003-03-08 14:44
2003.03.24
ошибка odac


1-76384
Alex Shulg
2003-03-12 11:06
2003.03.24
Обработка сообщений VCL компонента





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский