![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Как получить список инсталлированных программ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 |