У меня Windows Vista, но я думаю, что это относится и к другим версиям. Я хочу установить программу для использования в контекстном меню «Открыть с помощью». Теперь я хочу, чтобы путь к .exe содержал переменную окружения. Таким образом, я могу переместить местоположение моего приложения, изменить соответствующую переменную среды, и все работает отлично.
Проблема состоит из трех компонентов:
Значение ключа в
HKEY_CLASSES_ROOT\Applications\myapp.exe\shell\open\command
например,
"C:\myapp\myapp.exe" "%1"
, жестко запрограммирован и имеет типREG_SZ
. Мне нужно, чтобы он был типаREG_EXPAND_SZ
, например,"%MYAPPSDIR%\myapp.exe" "%1"
. Это типично для встроенных программ, например,%SystemRoot%\system32\NOTEPAD.EXE %1
.Тип ключа изменить нельзя, поэтому то, что было рождено как
REG_SZ
, так и живет.Похоже, что я не могу "перегенерировать" переменную как
REG_EXPAND_SZ
.
Есть ли шанс сделать то, что я имею в виду?
Существует также бонусный вопрос, Как получить параметр в командном файле.