Цитата Dodakaedr:
Как записать путь в таком виде в реестре? »
|
Используйте команду
GetFullPathName с ключем
/SHORT, учтите, что в пути не должно быть символов типа "%1", в команду посылаете только путь, а после преобразования пути уже можете добавить к нему остальное
Код:
![Выделить весь код](images/misc/selectcode.png)
GetFullPathName /SHORT $0 "$PROGRAMFILES"
StrCpy $0 '$0 "%1"'
MessageBox MB_OK|MB_ICONINFORMATION "$0"
+Эту команду можно выполнять только если директория существует, в противном случае (если папки не существует) - вам вернётся пустое значение
Протестируйте в общем
Есть также WinAPI функция, делающая тоже самое
Код:
![Выделить весь код](images/misc/selectcode.png)
StrCpy $0 '$PROGRAMFILES'
System::Call 'kernel32::GetShortPathName(t r0, t .r0, i ${NSIS_MAX_STRLEN}) i .r1'
StrCpy $0 '$0 "%1"'
MessageBox MB_OK|MB_ICONINFORMATION "$0"