Цитата:
Сообщение от
tricky
т.к. не обязательно у пользователя ВинРар будет установлен в указанной директории. Есть ли возможность узнать, установлено ли приложение у пользователя и по какому пути оно располагается?
Можно сделать следующее:
1. Предположить что Winrar всегда будет стоять в Program Files. Путь к Program Files можно определить из переменной окружения %ProgramFiles% (cmd.exe echo %ProgramFiles%). Это поможет в случае установки Windows на разные диски.
2. В реестре (Windows 2008 Server, Vista) есть ветка HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe, у которой есть значение по умолчанию - полный путь к Exe-шнику и значение Path - соответственно - путь только к каталогу. Можно проанализировать эту ветку на предмет получения пути.
В общем случае - можно поискать в реестре по ключевому слову WinRAR чтобы понять где какая информация хранится.
Но в случае реестра есть маленькая ложка дегтя. Структура реестра в Vista / Server 2008 немного отличается от предыдущих версий Windows и есть риски "не найти в ожидаемом месте" информацию в реестре для разных ОС.