PDA

Показать полную графическую версию : [решено] При смене разрешения сворачивается зарущенная через bat программа.


Jeronimo45
17-10-2017, 21:23
Прошу помощи.

Вобщем есть такая старая игра Legacy of Kain Defiance. Она реестрозависимая и без определённых записей в нём, отказывается запускаться. Так-как я с таким уже сталивался то недолго думая собрал bat-ник, который добавляет нужные записи в реестр и сразу запускает игру. Затем в программе "bat to exe converter" переделал его в exe. Всё прошло нормально но после смены разрешения игры которое по умолчанию 800x600 на родное 1920x1080, вместо стилизированого курсора игры появляется курсор Windows и любое нажатие приводит к тому что игра сворачивается. В дальнейшем выяснил что с записями в реестре и запуском через основной (родной) exe, игра нормально сменяет разрешение. Значит виноват в этом тот exe файл который я создал из bat-ника.

Содержимое батника:


REG Add "HKLM\SOFTWARE\Wow6432Node\Crystal Dynamics\Legacy of Kain: Defiance" /V "FullInstall" /T REG_DWORD /D "1" /F
REG Add "HKLM\SOFTWARE\Wow6432Node\Crystal Dynamics\Legacy of Kain: Defiance" /V "Language" /T REG_DWORD /D "3" /F
REG Add "HKLM\SOFTWARE\Wow6432Node\Crystal Dynamics\Legacy of Kain: Defiance" /V "Version" /T REG_DWORD /D "257" /F
start defiance.exe


Если после start добавить /w то проблема после смены разрешения исчезает но exe переделаный из bat остаётся висеть в процесах. Можно как либо его убрать оттуда или как то изменить содержимое батника что бы игра не конфликтовала с ним?

alpap
17-10-2017, 21:47
а так:

start "Legacy of Kain Defiance" "defiance.exe"

или так:

"Путь\defiance.exe"

Iska
17-10-2017, 22:26
Затем в программе "bat to exe converter" переделал его в exe. »
Зачем? Чем Вас не устраивает обычный пакетный файл?!

Jeronimo45, Вас не смущает, что Ваш пакетный файл будет корректно вносить изменения только из-под x64 версии ОС?

Jeronimo45
18-10-2017, 02:02
а так:

start "Legacy of Kain Defiance" "defiance.exe"

или так:

"Путь\defiance.exe" »

Всё тоже самое. Мне кажется что тут дело даже не в скрипте, а в самом процесе запуска когда игра запускаясь уже после переделаного в exe батника почему то считает что поверх неё открыты окно(а) другого приложения. Хотя если из скрипта убрать start то exe остаётся висеть в процесах и в игре нормально меняется разрешение. Как бы exe из батника не успевает полностью закрыться (хотя исполняется он невидимо) как уже запускается игра и получается так что она думает что поверх неё что-то есть (хоть она и в полноэкранном режиме).

Jeronimo45
23-10-2017, 19:10
Вообщем нашёл решение. Столько времени на это потратил, ну да ладно. Может у кого то возникнет такая же ситуация и поможет.


REG Add "HKLM\SOFTWARE\Wow6432Node\Crystal Dynamics\Legacy of Kain: Defiance" /V "FullInstall" /T REG_DWORD /D "1" /F
REG Add "HKLM\SOFTWARE\Wow6432Node\Crystal Dynamics\Legacy of Kain: Defiance" /V "Language" /T REG_DWORD /D "3" /F
REG Add "HKLM\SOFTWARE\Wow6432Node\Crystal Dynamics\Legacy of Kain: Defiance" /V "Version" /T REG_DWORD /D "257" /F
cmd /c start /b defiance.exe
CLS




© OSzone.net 2001-2012