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

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 3
Всего онлайн: 3
Зарегистрировано юзеров: 6505
Комментариев на сайте: 647
Новый юзер: TtexavDral



Последние комментарии
c
Cmertb06 прокомментировал "Урок 1 - Инициализация OpenGL":
Возможно ли рисовать на экране? Например у Screen.Monitors[0] есть свойство Handle?
Aqel прокомментировал "Урок 71 - Работа с сжатыми файлами":
uses ...sevenzip, ... function ProgressCallback(sender: Pointer; total: boolean; value: int64): HRESULT; stdcall; begin if total then Form1.sprgrsbr1.Max:= value else Form1.sprgrsbr1.Position:= value; Result:= S_OK; end; function Decompress(FileName, DestDir, ArcFname: String; ArcDir: Boolean ): Boolean; var i: Integer; ItP: string; items: array[1..11] of Cardinal; sprgrsbr1: TsProgressBar; begin Result:= False; Application.ProcessMessages; try with CreateInArchive(CLSID_CFormat7z) do begin OpenFile(FileName); SetProgressCallback(sprgrsbr1, ProgressCallback); for i:= 1 to NumberOfItems - 1 do if not ItemIsFolder[i] then //ExtractItem(items[i], Steam, False); - как ей пользоваться в душе не понимаю... ExtractTo(DestDir); end; finally Result:= True; end; end;

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

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

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


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