![](/logo_grey.gif)
Последние записи
- Сравнение языков на массивах. Часть 2
- wprintf как напечатать кириллицу
- Взаимодействие через командную строку
- Сравнение языков на массивах. Часть 1
- Сравнение языков по скорости
- Чтение огромных xml-файлов
- Как в Python+Selenium webdriver открыть новую вкладку в уже открытом браузере?
- Lazarus, проверка существования строки таблице
- BASM и record, обращение к полям записи
- Web PHP Framework Symfony
![](http://programmersclub.ru/slurm3.jpg)
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
![](http://programmersclub.ru/katajpg.jpg)
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
24th
Фев
Узнать какие программы в автозагрузке
Posted by Chas under Delphi
как узнать какие программы в автозапуске и вывести их в memo?
Shouldercannon
uses
Registry
...
procedure TForm1.Button1Click(Sender: TObject);
var
MyList: TStringList;
MyRegistry: TRegistry;
i: Integer;
Str: string;
begin
Memo1.Clear;
MyRegistry := TRegistry.Create;
MyList := TStringList.Create;
with MyRegistry do
begin
RootKey := HKEY_LOCAL_MACHINE;
if OpenKey('Software\Microsoft\Windows\CurrentVersion\Uninstall', False) = True then GetKeyNames(MyList);
CloseKey;
for i := 0 to MyList.Count - 1 do
begin
RootKey := HKEY_LOCAL_MACHINE;
OpenKey('Software\Microsoft\Windows\CurrentVersion\Uninstall\' + MyList, False);
Str := ReadString('DisplayName');
if Str <> '' then Memo1.Lines.Add(ReadString('DisplayName'));
CloseKey;
end;
end;
MyRegistry.Free;
MyList.Free;
end;
Не забудь на форму TMemo1 кинуть. Вывод всех устанвленных программ на ПК в текущей ОС.
Ошибка была из-за того, что в while высвобождался MyRegistry и в этот же while снова шло обращение к MyRegistry.
Вывод автозагрузки
procedure TForm1.Button2Click(Sender: TObject);
var
reg: TRegistry;
i: Integer;
Value: TStringList;
ListItem: TListItem;
begin
ListView1.Items.Clear;
reg := TRegistry.Create;
Value := TStringList.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', False);
reg.GetValueNames(Value);
for i := 0 to Value.Count - 1 do
with ListView1 do
begin
ListItem := Items.Add;
ListItem.Caption := Value.Strings;
ListItem.SubItems.Add(reg.ReadString(Value.Strings));
end;
reg.Free;
Value.Free;
end;
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
![пеллетные котлы](http://programmersclub.ru/respective.jpg)
пеллетные котлы
![пеллетный котел](http://programmersclub.ru/emtas.jpg)
Пеллетный котел Emtas
![форум программистов](http://programmersclub.ru/banf336х280.gif)
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)