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

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

15.06.2012, 11:32. Показов 7533. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru