HTA в EXE, но текущая рабочая папка меняется на временную.Решение? - PullRequest
0 голосов
/ 05 июня 2018

Мне нужна помощь с соответствующей кодировкой, чтобы вновь созданный EXE-файл не использовал папку TEMP в качестве текущей рабочей папки.

Использование HTA (без преобразования) в любой папке работает нормально и правильный CWDиспользуется.

    Set Sh=CreateObject("WScript.Shell")
    cwd=Sh.CurrentDirectory

При преобразовании в EXE программа использует следующую папку вместо пути к папке, в которой она выполняется.

file: /// C: / Users / username /AppData / Local / Temp /% 7B3479C69C-F8A7-4FE0-9903-68266AAF2EA7% 7D / test.hta

Насколько я понимаю, преобразованный EXE-файл "распаковывается" в папку Temp и запускается там до тех пор, показакрывается, затем автоматически удаляет себя из temp.

Итак, как я могу запретить EXE использовать временную папку в качестве CWD вместо фактической папки, в которой она выполняется?

Нужно ли мневвести дополнительный код для пользователя, чтобы перемещаться и выбрать фактическое CWD?Это кажется контрпродуктивным!Мне бы очень хотелось, чтобы фрагмент кода читался по фактическому (истинному) пути к EXE-файлу.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Я думаю, что 32-битная версия vbsedit также будет иметь проблемы.Обязательно используйте 64-битную версию.

0 голосов
/ 07 июня 2018

Какой инструмент вы используете для конвертации скрипта?Я использую «VBS To EXE», и текущий каталог всегда работал хорошо.

Я только что проверил его с вашими двумя строками, и он работал (я добавил msgbox cwd, и путь был правильным).

...