Существует ли переменная окружения или эквивалент для WinZip32.exe, который я могу использовать, чтобы найти его путь к местоположению?
ВЫ вероятно может извлечь местоположение программы из реестра.Большинство программ хранят свои настройки либо в HKEY_LOCAL_MACHIN / Software / VendorName / ProgramName, либо в HKEY_CURRENT_USER / Software / VendorName / ProgramName.Где VendorName - название компании, а ProgramName - название программы.Эти настройки МОГУТ включать путь установки.И, конечно, информация об удалении находится где-то в HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall. Однако полагаться на любую из них не очень хорошая идея - формат настроек может измениться в следующем выпуске, а некоторые пользователи (например, я)как правило, обнулять дополнительные значения из реестра, даже если они все еще имеют программу.Таким образом, вы не можете гарантировать, что программа присутствует, если эти значения установлены, и вы не можете гарантировать, что она не присутствует, если эти значения отсутствуют.
Правильное решение зависит от того, что вы собираетесьделать с winzip.
Если вы хотите извлечь * .zip файлы с помощью вашей программы, у вас есть два варианта:
- Использовать какую-то библиотеку, которая обрабатывает zip-файлы.
- Включите компактный * .zip-совместимый архиватор (возможно, из командной строки) с вашей программой.
Если вы хотите открыть файлы в winzip для пользователя, то правильным способом будет открыть использование любой программы, связанной с * .zip в системе пользователя, вместо того, чтобы заставлять пользователя использовать winzip.Я считаю, что открытие файла с помощью программы (в настоящее время связано с этим типом файла) может быть сделано с ShellExecute