Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] При смене разрешения сворачивается зарущенная через bat программа. (http://forum.oszone.net/showthread.php?t=330569)

Jeronimo45 17-10-2017 21:23 2771378

При смене разрешения сворачивается зарущенная через bat программа.
 
Прошу помощи.

Вобщем есть такая старая игра 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 2771387

а так:
Код:

start "Legacy of Kain Defiance" "defiance.exe"
или так:
Код:

"Путь\defiance.exe"

Iska 17-10-2017 22:26 2771413

Цитата:

Цитата Jeronimo45
Затем в программе "bat to exe converter" переделал его в exe. »

Зачем? Чем Вас не устраивает обычный пакетный файл?!

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

Jeronimo45 18-10-2017 02:02 2771466

Цитата:

Цитата alpap
а так:

Код:

start "Legacy of Kain Defiance" "defiance.exe"
или так:

Код:

"Путь\defiance.exe" »

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

Jeronimo45 23-10-2017 19:10 2772807

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

Код:

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



Время: 12:50.

Время: 12:50.
© OSzone.net 2001-