Решена Поиск установленных программ.

Alex1983

Alex1983

Разработчик
Сообщения
914
Реакции
443
Баллы
488
Всем день добрый. Вопрос такой, где в реестре можно просмотреть какие программы у меня установлены?
И вообще есть ли правило, записи значений(параметров)устанавливаемой программы в реестр?
 
Drongo

Drongo

Ассоциация VN/VIP
Разработчик
Сообщения
7,844
Реакции
5,590
Баллы
808
Тут вроде бы
Код:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Но это то что ты увидишь в списке установка\удаление программ.
 
Кирилл

Кирилл

Команда форума
Администратор
Сообщения
13,715
Реакции
6,106
Баллы
913
Да,там, Drongo, верно говорит.

Вот небольшой скрипт получения списка программ:

CMD/BATCH:
@echo off
rem Этот командный файл записывает список программ, установленных на 
rem удалённом компьютере.
rem %1 Сетевое имя компьютера в формате PCNAME (пустое значение означает
rem    локальный компьютер).

rem Определяем путь к папке реестра
set reg_key=hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
if not "%1" == "" set reg_key=\\%~1\%reg_key%

rem Перебираем установленные программы
for /F %%a in ('reg query "%reg_key%"') do ^
for /F "tokens=1,2*" %%b in ('reg query "%%a"') do ^
if "%%b"=="DisplayName" echo %%d
Так же если усугубить то можно проверить значения исполняемых файлов и их путей в псевдонимах aplication,по значениям в расширениях и т.д.
Это если программа есть,а в списке установленных - нет.


Так же можно отфильтровать software разделы в hklm и hkcu
И вообще есть ли правило, записи значений(параметров)устанавливаемой программы в реестр?
Устанавливать можно как угодно,запись в реестре ограничивается лишь тем ,какой опционал закладывается в программу.
Portable,автозапуск,ассоциации и т.д. то есть запись обязательна только в те разделы,без которых работать не будет.
Либо если эта запись появляется в следствии работы программы.
 
Последнее редактирование:
shestale

shestale

Ассоциация VN/VIP
Преподаватель
Сообщения
9,699
Реакции
5,002
Баллы
743
shestale

shestale

Ассоциация VN/VIP
Преподаватель
Сообщения
9,699
Реакции
5,002
Баллы
743
Кирилл, скрипт косячный?
Screenshot_1.jpg
 
Кирилл

Кирилл

Команда форума
Администратор
Сообщения
13,715
Реакции
6,106
Баллы
913
Вечером гляну.
 
Dragokas

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,055
Реакции
5,845
Баллы
648
Здесь полный список разделов, которые различаются (Redirected), являются общими (Shared) или отражаются, т.е. записываются в обе ветви (Reflected) при вызове из 32-разрядных программ.

Кирилл, скрипт косячный?
set reg_key=hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
в конце слэш лишний.

CMD/BATCH:
@echo off
SetLocal EnableExtensions

(for %%k in (
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
HKCU\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
) do ^
for /F %%a in ('reg query "%%k" 2^>NUL') do ^
for /F "tokens=1,2*" %%b in ('reg query "%%a" /v "DisplayName" 2^>NUL') do ^
if /i "%%~b"=="DisplayName" echo.%%d) > "Inst.txt"

:: из 866 в юникод
cmd /U /C type "Inst.txt" > "Inst_U.txt"
rundll32 shell32,ShellExec_RunDLL "%cd%\Inst_U.txt"
pause
Лучше на другом языке. Reg.exe юникод не поддерживает. Например, есть такие имена: µTorrent.
 
Последнее редактирование:
Кирилл

Кирилл

Команда форума
Администратор
Сообщения
13,715
Реакции
6,106
Баллы
913
От имени админа запускал?
 
Alex1983

Alex1983

Разработчик
Сообщения
914
Реакции
443
Баллы
488
так какой правильный вариант будет?
 
shestale

shestale

Ассоциация VN/VIP
Преподаватель
Сообщения
9,699
Реакции
5,002
Баллы
743
Работает...Кирилл, добавь туда вывод в файл.
 
Сверху Снизу