Сделай сам на Delphi: Установка и удаление программ
06.05.2008 от Иван Ширко Application.Restore;
//обновляем данные об установке\удалении программ
Form1.OnShow(Self);
end;
Событие OnClick кнопки "Удалить из списка":
procedure TForm1.Button2Click(Sender: TObject);
var
Dir: String; //имя ключа
begin
//если в ListBox'e выбран какой-нибудь элемент, то продолжаем
if (ListBox1.ItemIndex = -1) then
exit;
//получаем имя ключа, который нужно удалить
Dir := DirList[ListBox1.ItemIndex];
//удаляем нужный ключ
reg := TRegistry.Create;
reg.RootKey := Windows.HKEY_LOCAL_MACHINE;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Uninstall', False);
reg.DeleteKey(Dir);
reg.Free;
//удаляем из ListBox'a выбранный элемент
ListBox1.Items.Delete(ListBox1.ItemIndex);
end;
Основная часть на этом завершена. Теперь осталось добавить несколько мелочей для повышения удобства при работе с программой:
-
Выделите кнопку "Обновить" и на вкладке Events Инспектора объектов, напротив события OnShow из раскрывающегося списка выберите процедуру FormShow.
-
Таким же образом для события OnDblClick ListBox'a выберите процедуру Button1Click. Теперь при двойном щелчке мыши по выбранной программе, для неё запустится Uninstall.
-
Для события OnKeyPress ListBox'a запишите процедуру:
procedure TForm1.ListBox1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
//если нажата клавиша Delete, то удаляем информацию о выбранной программе из реестра
if (Key = VK_DELETE) then
Button2.OnClick(self);
end;
Действия при создании и закрытии формы:
procedure TForm1.FormCreate(Sender: TObject);
begin
//создаем объекты для хранения строк
DirList := TStringList.Create;
PathList := TStringList.Create;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DirList.Free;
PathList.Free;
end;
Вот и всё. Предложения по поводу тем следующих статей этого цикла присылайте мне по E-mail.Иван Ширкоishyrko@gmail.com
Рубрики: Delphi, Сделай сам |
14.05.2008 в 11:18
Приятная статья, мне даже очень и очень понравилось!
05.06.2008 в 02:40
Мне это пригодится.
11.06.2008 в 08:53
Огромное, даже непередаваемое тебе СПАСИБИЩЕ!!!! Мне это очень помогло - у меня курсач по этой теме, и мне его сегодня надо сдать! Одну скачал, а там Дэлфи ругается мол нет дополнительных пакетов(потом нашел, но скачать 140мег не успеваю!)
Еще раз спасибо! надеюсь прокатит!!! +1000000000
11.06.2008 в 09:09
>>San
Удачной сдачи курсача)
03.07.2008 в 15:30
Получается, чтобы добавить свою прогу в Установка и удаление программ” надо прописаться в реестре?
20.07.2008 в 16:04
Да реально автору спасибо за статейку, все доступно и понятно пошел побывать
28.07.2008 в 10:01
Статья просто супер!!! ОЧень понравилось! Полезно!
02.08.2008 в 22:39
твой блог мне полезен, практика по делфи, дуб дубом, разбираюсь сижу:(
01.09.2008 в 09:46
Скачал программу, спасибки, буду юзать!
11.09.2008 в 20:42
спасибо за совет!!Delphi со школы плохо идет, нознать и научиться хочу:))нашел блог твой. Спасибо:))
11.09.2008 в 20:50
Delphi вобще сложная вещь…ну по крайне мере мне, как начинающему:))а вообще после подумываю изучить Java…говорят ууххх:)сложная хренька:)
15.09.2008 в 13:35
Надо попробовать , спасибо за программу.
26.09.2008 в 13:54
Статья хорошая и нужная, спасибо автору.
13.10.2008 в 14:01
О сейчас буду пробовать.
01.12.2008 в 15:00
Познавательно и интересно. Но, сложно для восприятия моими мозгами. Это мне так показалось или вам тоже? Прошу автора не обижаться.
21.02.2009 в 13:26
Спасибо за информацию, она помогла в решении очень важной для меня проблемы!!! Ура =)))
20.03.2009 в 22:22
А я вот мучаюсь с идентификацией нажатия клавиши Delete на клавиатуре… Использовал для события OnKeyPress условие if Key=#46; Key=VK_DELETE (как у вас в примере вроде) и ничего, сколько раз не нажми на эту клавишу — никакой реакции. Можете подсказать чего-нибудь?
20.04.2009 в 12:05
Дайте ссылку на Делфи плиз очень нужна!!!!!!=)))))
19.05.2009 в 10:11
немного можно подправить например добавить инфу об авторе программы читать параметр в реесторе ‘Publisher’ ну и версию проги ‘DisplayVersion’
26.05.2009 в 14:58
Вадим, с onkeypress действительно что-то не работает, зато на KeyUp например, работает на ура
12.08.2009 в 08:59
В свое время зять пытался приобщить меня к дэлфи, ну мне как то не очень!
11.01.2010 в 21:31
Хороший пример, очень полезный. Как говорить респект и уважуха!
11.05.2010 в 13:36
А это не нада?)
listbox1.Items:=strlist;
11.05.2010 в 13:40
емае я тупой наверно))
06.01.2011 в 15:47
Немного добавлю..
В раздел USES следует прописать Registry,
т.к. без этого компилятор ругается на:
——–
Reg: TRegistry; //для работы с реестром
——–
Спасибо за внимание..
20.06.2011 в 11:32
Спасибо, есть одна задумка, статья помогла в реализации
07.12.2011 в 12:05
Существует ли возможность выводить именно исполняемые *.exe файлы и потом например выделеные импортировать в рег файл?
02.01.2012 в 14:02
киньте ссылку на исходник плиз, а то в новости не работает
11.02.2012 в 15:21
Интересный способ удаления програм но для этого нужно уметь работать с реестром.