Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/34: Рейтинг темы: голосов - 34, средняя оценка - 4.68
 Аватар для Vovik_0_1
40 / 40 / 6
Регистрация: 28.07.2011
Сообщений: 431

Копирование списка установленных программ в текстовый файл

15.06.2012, 11:32. Показов 7487. Ответов 31
Метки нет (Все метки)

Кто подскажет как список установленных программ из меню "Установка и удаление" скопировать в текстовый файл. Спасибо
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.06.2012, 11:32
Ответы с готовыми решениями:

Bat-файл для вывода списка установленных программ
В cmd это делается в следующей последовательности: 1. вводится команда wmic; 2. вводится команда product get name,version (для...

Есть ли в убунту что-нибудь вроде списка установленных программ как в винде?
Ну, понятно, банальный вопрос для виндо-свитчера)) тем не менее, кажется, в убунте нет такой свободы для бинарных экзешников, как в винде,...

Записть список установленных программ в файл
Доброго всем дня. Подскажите как вывести данные в файл а не в консоли. Заранее спасибо! using System; using System.Management; ...

31
Модератор
Эксперт Windows
 Аватар для Persk
8748 / 3375 / 244
Регистрация: 25.10.2010
Сообщений: 13,603
24.08.2014, 14:52
Подниму старую тему, т.к. сам занялся данным вопросом
Подредактировал код с http://2lx.ru/2011/11/poluchen... na-winapi/ и получилось , правда вывод в RichEdit1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
RichEdit1->SelAttributes->Style = RichEdit1->SelAttributes->Style<<fsBold;;
RichEdit1->Lines->Add("Установленные программы");
RichEdit1->SelAttributes = RichEdit1->DefAttributes;
{
DWORD dwIndex = 0;
LONG ret;
DWORD cbName = 256;
TCHAR szSubKeyName[256];
char szDisplayName[256];
DWORD dwSize;
DWORD dwType;
// Открываем ветку реестра со списком установленных программ
HKEY hKey;
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall", 0, KEY_READ, &hKey) != ERROR_SUCCESS)
return;
// Поочередно проходим по каждому вложенному разделу
while ((ret = RegEnumKeyEx(hKey, dwIndex, szSubKeyName, &cbName, NULL, NULL, NULL, NULL)) != ERROR_NO_MORE_ITEMS)
{
if (ret != ERROR_SUCCESS)
continue;
// открываем вложенный раздел и ищем в нем ключ DisplayName
HKEY hItem;
if (RegOpenKeyEx(hKey, szSubKeyName, 0, KEY_READ, &hItem) != ERROR_SUCCESS)
continue;
// отображаем на экране название установленной программы
dwSize = sizeof(szDisplayName);
if (RegQueryValueEx(hItem, "DisplayName", NULL, &dwType, (LPBYTE)&szDisplayName, &dwSize) == ERROR_SUCCESS)
RichEdit1->Lines->Add(String(szDisplayName) );
RegCloseKey(hItem);
dwIndex++;
cbName = 256;
}
RegCloseKey(hKey);
}
Проверить можно аптечка сисадмина, вкладка "Система" - Информация о ПК - Выбрать из списка - Установленные приложения - Кнопка "Выполнить"

Добавлено через 8 минут
В Windows Vista и выше прогу необходимо запускать от имени администратора
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
24.08.2014, 15:28
Persk, если позволите пару замечаний /предложений по поводу программы

Не по теме:

вот ошибка - и мне кажется лучше бы не выносить её в ShowMessage - а в лог ...
в изменение имени компьютера - не плохо было бы вывести текущее имя...да и функцию изменения рабочей группы
в Дисках - проверка диска только С - не плохо было бы и остальные ...



Отчёт об установленных приложениях у меня зависает.... наверное лучше собирать его в отдельном потоке...
так я результата и не получил (прождал 5 минут) - установлено программ 20...Windows 8.1 x64 - от админа запущено...(чувствуется что дело в x64)
Это при проверки вашей программы - код отдельно не проверял....
Миниатюры
Копирование списка установленных программ в текстовый файл  
1
Модератор
Эксперт Windows
 Аватар для Persk
8748 / 3375 / 244
Регистрация: 25.10.2010
Сообщений: 13,603
24.08.2014, 15:32
Цитата Сообщение от Ddv122 Посмотреть сообщение
.Windows 8.1 x64 - от админа запущено...
Аптечку от имени администратора запускали. Хотя за 8 спорить не буду т.к. на ней прога не тестировалась, список ОС в архиве
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
24.08.2014, 15:34
Persk, Да ( ПКМ -> запуск от имени администратора)
Миниатюры
Копирование списка установленных программ в текстовый файл  
1
Модератор
Эксперт Windows
 Аватар для Persk
8748 / 3375 / 244
Регистрация: 25.10.2010
Сообщений: 13,603
24.08.2014, 15:37
Ddv122, ну что сказать, значит под win 8 прога работает не корректно, будем думать как исправить
Спасибо за то что написали про ошибки в вин 8
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
24.08.2014, 15:38
Persk,
Вот так работает (x64)
C++
1
2
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall", 0, KEY_READ | KEY_WOW64_64KEY, &hKey) != ERROR_SUCCESS)
return;
Миниатюры
Копирование списка установленных программ в текстовый файл  
0
Модератор
Эксперт Windows
 Аватар для Persk
8748 / 3375 / 244
Регистрация: 25.10.2010
Сообщений: 13,603
24.08.2014, 15:46
Переделал https://www.cyberforum.ru/atta... 1408880722
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
24.08.2014, 15:47
Persk,
Но есть ещё одна вещь (x64) - часть установленных программ находится и по этому пути, и по тому - выводится не все программы

Code
1
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
Программа заработала
Миниатюры
Копирование списка установленных программ в текстовый файл  
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
24.08.2014, 15:54
Вот сравните список
с вашей программы и + с ветки Wow6432Node

это я всё к тому что для систем x64 нужно брать с обоих путей значения...
Вложения
Тип файла: txt 1.txt (1.1 Кб, 8 просмотров)
Тип файла: txt 2.txt (2.0 Кб, 6 просмотров)
0
24.08.2014, 16:01

Не по теме:

Будь проклята эта 64-разрядная система, напридумают, гребаные мелкософты, у самих даже не все робит, если учесть последние обновы.
Вообщем прога стабиле на х86, а остальное пусть билл гейтс сначала дыры в своей ОС исправит

0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
24.08.2014, 16:48
Согласен
Я думаю по этому вопросу нужно попросить помощи у Убежденного - он поправит меня и подскажет как правильнее собрать полный список программ ...
В ветке Wow6432Node - 32 битные программы ...
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
24.08.2014, 19:20
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

У системы есть API для получения списка программ.

MsiEnumProducts function
http://msdn.microsoft.com/en-u... 85%29.aspx

MsiGetProductInfo function
http://msdn.microsoft.com/en-u... 85%29.aspx

Я не знаю, почему так популярно лезть за этой информацией в реестр.
Список установленных программ, построенный этими функциями, для
32-битных и 64-битных процессов одинаковый.
6
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.08.2014, 19:20

Вывод ап. обеспечения и установленных на них драйверов в текстовый файл
Здравствуйте. Прошу прощения, если ошибся разделом. Есть задача написать программу, определяющую аппаратное обеспечение компьютера, на...

Как получить список всех установленных программ с ссылками на их исполняемый файл?
Добрый день. Необходимо узнать название всех установленных приложений в Windows и пути к их исполняемым файлам. В поисках решения данной...

Копирование в текстовый файл
Друзья, кто когда-нибудь имел дело с программой Excel ? Подскажите, как копировать оттуда данные в обычный текстовый файл открываемый...

В панели управления в меню "Установка и удаление программ"пропали значки установленных программ
Таже самая беда. В панели управления в меню &quot;Установка и удаление программ&quot;пропали значки установленных программ, три значка осталось, хотя...

Копирование в буфер и вывод в текстовый файл
Как при нажатии на button1 скопировать содержимое textBox1 и textBox2 в буфер обмена? И как при нажатии на этот-же button1 сохранить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
22. Подключение слоя системной динамики (потоковые диффуры): экономические метрики модели
anaschu 17.06.2026
Апдейт модели: финансовый контур, разделение затрат Продолжаю развивать модель рабочего коллектива на AnyLogic. В этот раз работа шла над агентом Экономика — финансовым SD-слоем модели. Задача:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru