• Администрация SafeZone приветствует вас на нашем форуме!
    Если вы больше не желаете видеть рекламу при просмотре тем и сообщений - то достаточно просто зарегистрироваться. Для зарегистрированных пользователей реклама не отображается.

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

Alex1983

Разработчик
Сообщения
863
Симпатии
429
#1
Всем день добрый. Вопрос такой, где в реестре можно просмотреть какие программы у меня установлены?
И вообще есть ли правило, записи значений(параметров)устанавливаемой программы в реестр?
 

Drongo

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

Кирилл

Команда форума
Администратор
Сообщения
13,047
Симпатии
5,652
#3
Да,там, 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,автозапуск,ассоциации и т.д. то есть запись обязательна только в те разделы,без которых работать не будет.
Либо если эта запись появляется в следствии работы программы.
 
Последнее редактирование:

Alex1983

Разработчик
Сообщения
863
Симпатии
429
#7

shestale

Ассоциация VN/VIP
Преподаватель
Сообщения
9,296
Симпатии
4,829
#8
Создаете командный файл, вставляете в него скрипт, который дал Кирилл и сохраняете. Затем запускаете его.
п.с.
А вот как увидеть результат его работы я тоже не понял, т.к. окно командной строки закрывается.
 

shestale

Ассоциация VN/VIP
Преподаватель
Сообщения
9,296
Симпатии
4,829
#10
Кирилл, скрипт косячный?
Screenshot_1.jpg
 

Кирилл

Команда форума
Администратор
Сообщения
13,047
Симпатии
5,652
#11
Вечером гляну.
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,434
Симпатии
5,293
#14
Здесь полный список разделов, которые различаются (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,047
Симпатии
5,652
#16
От имени админа запускал?
 

Alex1983

Разработчик
Сообщения
863
Симпатии
429
#17
так какой правильный вариант будет?
 

shestale

Ассоциация VN/VIP
Преподаватель
Сообщения
9,296
Симпатии
4,829
#20
Работает...Кирилл, добавь туда вывод в файл.