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

Alex1983

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

Drongo

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

Кирилл

Команда форума
Администратор
Сообщения
14,089
Реакции
6,139
Баллы
993
Да,там, 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

Ассоциация VN/VIP
Преподаватель
Сообщения
9,705
Реакции
4,655
Баллы
753

glax24

Разработчик
Сообщения
2,001
Реакции
1,484
Баллы
638
Напишите в конце pause или сделайте вывод в файл.
 

shestale

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

Кирилл

Команда форума
Администратор
Сообщения
14,089
Реакции
6,139
Баллы
993
Вечером гляну.
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,392
Реакции
5,892
Баллы
718
В последней строке дописать >> файл
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,392
Реакции
5,892
Баллы
718
Здесь полный список разделов, которые различаются (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.
 
Последнее редактирование:

Кирилл

Команда форума
Администратор
Сообщения
14,089
Реакции
6,139
Баллы
993
От имени админа запускал?
 

Alex1983

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

Кирилл

Команда форума
Администратор
Сообщения
14,089
Реакции
6,139
Баллы
993
Щас точно работает - проверил.
 

Вложения

  • Список программ.7z
    410 байт · Просмотры: 8

shestale

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