C:\Program Files (x86)\DotR\DotR.exe
Я знаю, что мне нужно экранировать обратные косые черты, C:\\Program Files (x86)\\DotR\\DotR.exe
но это все равно не работает. Нужно ли мне обрабатывать пробелы и скобки как специальные символы, и если да, то как?
Редактировать с подробностями: Я запускаю небольшое консольное приложение из контекстного меню. Когда я сохраняю его в C:\DotR.exe и добавляю к HKEY_CLASSES_ROOT\Folder\shell\DotR\
значению, C:\\DotR.exe %1
оно работает нормально, но когда я пытаюсь сделать это, C:\\Program Files(x86)\\DotR\\DotR.exe %1
я получаю сообщение об ошибке, в котором говорится, что приложение не найдено. Я хочу сохранить его в program files, а не в корне C.
решение1
Как именно вы пытаетесь это добавить?
Подозреваю, что ваша главная проблема в том, что вам нужно заключить имя в кавычки.
"C:\Program Files (x86)\DotR\DotR.exe" %1
Если вы добавляете значение с помощью regedit.exe
редактора GUI, как строковое значение, то вам не нужно экранировать символы \
или "
. GUI справится с экранированием, вам просто нужно добавить кавычки.
Если вы добавляете его с .reg
файлом, то его \
символы необходимо экранировать, также необходимо экранировать символ ". Таким образом, значение REG_SZ "c:\asdf\asdf"
будет выглядеть следующим образом.
[HKEY_CURRENT_USER\Temp]
"asdf"="\"c:\\asdf\\asdf\""