Задать вопрос
EdMSL
@EdMSL
Free Developer

Почему не запускается exe файл игры?

Доброго времени суток. Пытаюсь написать лаунчер для игры на Electron. Вот код:
const child = exec('C:/Games/папка игры/что-то там.lnk', callback);

И это работает, игра запускается, все хорошо. Но если я пытаюсь вместо ярлыка (.lnk) запустить через экзешник (.exe):
const child = exec('C:/Games/папка игры/что-то там.exe', callback)
, то игра пытается запуститься, но через пару секунд окно закрывается. Слушатель события exit на child после вылета пишет
child process exited with code 3221225477 and signal null

В ошибке следующее
Error: Command failed: C:\Games\папка игры\что-то там.exe

    at ChildProcess.exithandler (child_process.js:308)
    at ChildProcess.emit (events.js:203)
    at maybeClose (internal/child_process.js:1021)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:283)
и все, больше ничего интересного. execFile, spawn вместо exec не дают результата. Просто программы (excel, calc, cmd) запускаются через exe и работают, а игры ни в какую.
Система win 10. Node 12.14.
  • Вопрос задан
  • 254 просмотра
Подписаться 1 Простой 6 комментариев
Решения вопроса 1
bingo347
@bingo347 Куратор тега Node.js
Crazy on performance...
проблема в параметре cwd (рабочая директория)
https://nodejs.org/dist/latest-v12.x/docs/api/chil...
При создании ярлыка проводником windows (и многими другими файл менеджерами) этот параметр прописывается в ярлыке по умолчанию как папка содержащая указанный .exe
В ноде же по умолчанию этот параметр берется из process.cwd()
https://nodejs.org/dist/latest-v12.x/docs/api/proc...
что соответствует рабочей папке Вашего node процесса

я не до конца понимаю, для чего он нужен в принципе
он задает "рабочую директорию процесса", все относительные пути используемые в запускаемой программе будут вычислены относительно этой директории
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы