Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] Адекватный список установленных программ

Ответить
Настройки темы
Delphi - [решено] Адекватный список установленных программ

Аватара для McLotos

Старожил


Сообщения: 410
Благодарности: 21

Профиль | Отправить PM | Цитировать


Изменения
Автор: McLotos
Дата: 01-09-2013
Доброго времени суток, господа.
Возник небольшой тупик программе.
Вытягиваю из реестра список установленных программ, но никак не могу его правильно отобразить. Подскажите где ошибка
Код: Выделить весь код
var
  Reg : TRegistry;
  SoftList : TStringList;
  I: Integer;
  begin
  Form1.show;
  Form1.ListBox1.Items.Clear;
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE;
 
 SoftList := TStringList.Create;

  Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Uninstall', False);
  Reg.GetKeyNames(SoftList);

  For I := 0 to SoftList.Count - 1 do

  Form1.ListBox1.Items.Add(SoftList.Strings[i]);

  FreeAndNil(Reg);
  FreeAndNil(SoftList);
end;
Выводится куча всего лишнего (пакеты обновлений, сервис-паки и т.д.)
Как убрать всё это?

-------
Старайтесь не решать свои проблемы по средствам личных сообщений, они могут быть решены очень не скоро.Не забывайте пользоваться поиском по форуму.Помните что уникальных проблем не бывает.Если всё-таки ответа не нашли, создайте тему, с подробным описанием проблемы.Спасибо за понимание.


Отправлено: 21:10, 30-08-2013

 

Аватара для McLotos

Старожил


Сообщения: 410
Благодарности: 21

Профиль | Отправить PM | Цитировать


Ну неужели никто не знает? =(

-------
Старайтесь не решать свои проблемы по средствам личных сообщений, они могут быть решены очень не скоро.Не забывайте пользоваться поиском по форуму.Помните что уникальных проблем не бывает.Если всё-таки ответа не нашли, создайте тему, с подробным описанием проблемы.Спасибо за понимание.


Отправлено: 19:02, 31-08-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для opel431

Ветеран


Contributor


Сообщения: 1803
Благодарности: 714

Профиль | Отправить PM | Цитировать


Цитата McLotos:
Form1.ListBox1.Items.Add(SoftList.Text); //думаю проблема где-то здесь »
// к массиву строк в списке нужно еще и обратится с просьбой - дай мне пожалуйста очередную строку на "обработку"

begin
Form1.ListBox1.Items.Add(SoftList.Strings(I));
//или так
Form1.ListBox1.Items.Add(SoftList(I));
end;

// без "обработки" можете использовать и так, Form1.ListBox1.Items.AddStrings(SoftList) - загнать все скопом.

-------
Хвала тому, кто встав среди камней, уча другого, сам будет умней.


Последний раз редактировалось opel431, 01-09-2013 в 14:50.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:42, 01-09-2013 | #3


Аватара для McLotos

Старожил


Сообщения: 410
Благодарности: 21

Профиль | Отправить PM | Цитировать


А как убрать всё лишнее?

-------
Старайтесь не решать свои проблемы по средствам личных сообщений, они могут быть решены очень не скоро.Не забывайте пользоваться поиском по форуму.Помните что уникальных проблем не бывает.Если всё-таки ответа не нашли, создайте тему, с подробным описанием проблемы.Спасибо за понимание.


Отправлено: 14:49, 01-09-2013 | #4


Аватара для opel431

Ветеран


Contributor


Сообщения: 1803
Благодарности: 714

Профиль | Отправить PM | Цитировать


Цитата McLotos:
А как убрать всё лишнее? »
1. В Вашем случае лишнего нет. Просто разные подходы к заполнение ListBox, при использовании цикла (for...) Вы можете заняться обработкой каждой строки (что Вам и нужно - обработчик if...then), при использовании процедуры AddStrings - копируете все строки без обработки, а вот перехват ошибок (try...finally...end) надо добавить.

2. Form1.show! А почему не делать все при создании формы - Form1.Create?

-------
Хвала тому, кто встав среди камней, уча другого, сам будет умней.


Последний раз редактировалось opel431, 01-09-2013 в 15:12.


Отправлено: 14:59, 01-09-2013 | #5


Аватара для McLotos

Старожил


Сообщения: 410
Благодарности: 21

Профиль | Отправить PM | Цитировать


По первому пункту Вашего сообщения хотелось бы пояснить что под "всё лишнее" подразумевались пакеты обновления Windows, сервис-паки программ и всё в этом духе. Вот как их убрать из списка
По второму, могу сказать что приведённый код отвечает лишь за вывод маленького окошка в программе, именно поэтому есть Form1.Show (показать форму1) при событии onclick на кнопке другой формы (основной программы)

-------
Старайтесь не решать свои проблемы по средствам личных сообщений, они могут быть решены очень не скоро.Не забывайте пользоваться поиском по форуму.Помните что уникальных проблем не бывает.Если всё-таки ответа не нашли, создайте тему, с подробным описанием проблемы.Спасибо за понимание.


Отправлено: 17:56, 01-09-2013 | #6


Аватара для opel431

Ветеран


Contributor


Сообщения: 1803
Благодарности: 714

Профиль | Отправить PM | Цитировать


Цитата McLotos:
Вот как их убрать из списка »
В цикле добавляете только то, что вам нужно, остальное в утиль.
If <условие> then
// если только из SoftList, то проверьте и откиньте (Pos) ключи начинающиеся с '{'
// в подключах можно также проверять:
// все от Microsoft можно отсеять через проверку параметра в ключе - Publisher, там явное значение = Microsoft Corporation
// программы смотрите в ключе - DisplayName и так далее...

-------
Хвала тому, кто встав среди камней, уча другого, сам будет умней.


Последний раз редактировалось opel431, 01-09-2013 в 18:22.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:16, 01-09-2013 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] Адекватный список установленных программ

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - [решено] Пустой список установленных программ и надпись "Подождите, идет построение списка..." ab Microsoft Windows 2000/XP 13 22-07-2013 13:21
[решено] Получение списка установленных программ TERMINAL AutoIt 1 17-08-2011 13:28
Разное - Как получить список установленных программ с удалённой раб. станции? a1r Microsoft Windows 2000/XP 3 10-10-2009 13:08
Система - [решено] Создание образов программ(установленных) Daut Программное обеспечение Windows 4 15-09-2009 22:39
Пропал список установленных программ из меню пуск. denmin Microsoft Windows 95/98/Me (архив) 3 17-03-2005 08:09




 
Переход