Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 6
Всего онлайн: 6
Зарегистрировано юзеров: 7113
Комментариев на сайте: 657
Новый юзер: Babeserdoosurf



Последние комментарии
c
YonqDox прокомментировал "Урок 53 - Потоки в Delphi, (часть 1/3)":
[url=https://clck.ru/DwfTp]Лучший Хакерский сайт "Творческая Лаборатория DedicateT"[/url]
Paulineodods прокомментировал "Урок 53 - Потоки в Delphi, (часть 1/3)":
Всем добрый день Заказывала вот такую модель смартфона на сайте https://sale-aliexpress.ru . Продавец проявил инициативу и сам отправил с помощью DHL потом еще у DHL какой то сбой прошел . так продавец еще интересовался отписывался получила я или нет. В придачу положил рыбку для наушников (чтобы провода не запутывались))) и стилус. Короче мне повезло с продавцом и покупкой. Очень [url=https://sale-aliexpress.ru] рекомендую данный сайт .

Как получить список инсталлированных программ

Приведу пример программы.

uses 
Registry; 

procedure TForm1.Button1Click(Sender: TObject); 
const 
UNINST_PATH = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'; 
var 
Reg: TRegistry; 
SubKeys: TStringList; 
ListItem: TlistItem; 
i: integer; 
sDisplayName, sUninstallString: string; 
begin 
{ 
ListView1.ViewStyle := vsReport; 
ListView1.Columns.add; 
ListView1.Columns.add; 
ListView1.Columns[0].caption := 'DisplayName'; 
ListView1.Columns[1].caption := 'UninstallString'; 
ListView1.Columns[0].Width := 300; 
ListView1.Columns[1].Width := 300; 
} 
Reg := TRegistry.Create; 
with Reg do 
try 
with ListView1.Items do 
try 
BeginUpdate; 
Clear; 
RootKey := HKEY_LOCAL_MACHINE; 
if OpenKeyReadOnly(UNINST_PATH) then 
begin 
SubKeys := TStringList.Create; 
try 
GetKeyNames(SubKeys); 
CloseKey; 
for i := 0 to subKeys.Count - 1 do 
if OpenKeyReadOnly(Format('%s\%s', [UNINST_PATH, SubKeys[i]])) then 
try 
sDisplayName := ReadString('DisplayName'); 
sUninstallString := ReadString('UninstallString'); 
if sDisplayName <> '' then 
begin 
ListItem := Add; 
ListItem.Caption := sDisplayName; 
ListItem.subitems.Add(sUninstallString); 
end; 
finally 
CloseKey; 
end; 
finally 
SubKeys.Free; 
end; 
end; 
finally 
ListView1.AlphaSort; 
EndUpdate; 
end; 
finally 
CloseKey; 
Free; 
end; 
end;

Вот и всё, Удачи!

Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 18 Января 2014
Просмотров:


Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.