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

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 9
Всего онлайн: 9
Зарегистрировано юзеров: 7648
Комментариев на сайте: 674
Новый юзер: rewefa3598@mailmyrss



Последние комментарии
c
Eugeneidory прокомментировал "Урок 2 - Переменные и их типы":
http://fedorovkarb.ru - В слуховом аппарате Cyber Sonic используется инновационная запатентованная технология. Она сочетает в себе преимущества двух методов усиления нелинейного и линейного, что позволяет сохранить тонкие детали, делая звуки слышимыми, комфортными и ясными. В сочетании с цифровой обработкой звука в мощном современном процессоре, установленном в Cyber Sonic, технология BrainHearing обеспечивает лучшую разборчивость звуков с минимальными усилиями при прослушивании. Звуки получаются объемными и четкими, что позволяет лучше ориентироваться в пространстве с учетом расположения источников звука. - http://fedorovkarb.ru
rashpell прокомментировал "Урок 69 - Реестр Windows, (часть 2/2)":
Заказать seo поисковую оптимизацию сайта, Заказать услуги по продвижению сайта По всем возникшим вопросам Вы можете обратиться в скайп логин [b]pokras7777[/b]Раскрутка сайта под ключ .Так же собираем базы

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

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

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
Просмотров:


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