![]() |
![]() ![]() ![]() ![]() |
|
Как получить список инсталлированных программDelphi , ОС и Железо , РеестрАвтор: http://www.swissdelphicenter.ch
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;
Программа на Delphi, которая извлекает список установленных программ на компьютере Windows и отображает его в контроле ListView. Обзор кода:
Вывод этой программы - список элементов ListView, отображающий имена и строки удаления установленных программ. Альтернативное решение: Вместо использования реестра для извлечения списка установленных программ можно использовать API Windows Installer (MSI) для получения списка установленных продуктов. Этоapproach будет более надежным и reliabler, чем полагаться на реестр. Пример кода, демонстрирующий использование MSI API: В этом коде создается экземпляр объекта Windows Installer и используется свойство Обратите внимание, что этоapproach требует наличия API Windows Installer на системе, что не всегда является случае (например, на более старых версиях Windows). Альтернативный подход, основанный на реестре, работает на всех версиях Windows. В статье описывается способ получения списка инсталлированных программ на компьютере с помощью языка программирования Delphi и использованием функции.registry. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||