2015-06-05 4 views
1

У меня есть Oddworld Abe's Oddysey, но игра не очень хорошо работает с моим GamePad, поэтому мне пришлось использовать Joy2Key, я создал .bat для запуска обоих процессов, но он не работает как Я хочу.Завершить процесс, когда другой конец, партия

Я хочу, чтобы, когда я прекратил играть в игру, процесс JoyToKey.exe закончился, но я не могу заставить его работать с моим кодом, что мне делать?

start JoyToKey_en\JoyToKey.exe 
start /wait AbeWin.exe 
taskkill /f /im JoyToKey.exe 
+0

Является ли EXE указанным с помощью 'tasklist.exe' после выхода из игры? – user4317867

+0

да, как только я открываю летучую мышь JoyToKey.exe до начала игры – AlexTCGPro

ответ

0

Этот пример, который покажет вам, как проверить, является ли процесс, как (AcroRd32.exe) (Adobe Reader) работает или нет, так что если не работает скрипт попытаться запустить его и Конечно, вы можете убить его, указав это!

@echo off 
Title Check process for starting 
mode con cols=65 lines=5 & color 9B 
Set ProcessPath=%ProgramFiles%\Adobe\Reader 11.0\Reader 
set ProcessName=AcroRd32.exe 
Tasklist /nh /fi "imagename eq %ProcessName%" | find /i "%ProcessName%" >nul && (
    echo %ProcessName% is started 
) || (
    echo %ProcessName% is not started & Start "" "%ProcessPath%\%ProcessName%" 
) 
pause 
Echo Killing %ProcessName% 
Taskkill /IM "%ProcessName%" /F 
pause 

И это пакетная с меню:

@Echo off & cls & color 0B 
Mode con cols=72 lines=10 
Set TmpFile=TmpFile.txt 
Set Resultat=KillResult.txt 
If Exist %TmpFile% Del %TmpFile% 
If Exist %Resultat% Del %Resultat% 
:menuLOOP 
Cls & color 0B 
Title Process Starter and Killer by Hackoo 2015 
echo. 
echo.  ==========================Menu============================ 
echo. 
for /f "tokens=1,2,* delims=_ " %%A in ('"findstr /b /c:":menu_" "%~f0""') do echo.   %%B %%C 
echo. 
echo.  ========================================================== 
set choice= 
echo. & set /p choice=Make a choice or hit ENTER to quit: || GOTO :EOF 
echo. & call :menu_%choice% 
GOTO:menuLOOP 
::******************************************************************************************** 
:menu_1 StartMyProcess 
cls & color 0B 
echo. 
Set /p "MyProcess=Enter the process name " 
echo. 
echo The process %MyProcess% is started ... 
Start %MyProcess% 
GOTO :menuLOOP 
::******************************************************************************************** 
:menu_2 KillProcess 
Title Process Killer by Hackoo 2015 
cls & color 0B 
echo. 
echo    What process do you want to kill ? 
echo. 
set/p "process=Enter the name of the process> " 
cls & color 0C 
Title Killing "%process%" ... 
echo. 
echo      Killing "%process%" ... 
echo. 
echo %date% *** %time% >> %TmpFile% 
For %%a in (%process%) Do Call :KillMyProcess %%a 
Cmd /U /C Type %TmpFile% > %Resultat% 
Start %Resultat% 
GOTO :menuLOOP 
::********************************************************************************************* 
:KillMyProcess 
Taskkill /IM "%~1" /F >> %TmpFile% 2>&1 
echo ***************************************************************************** >> %TmpFile% 
exit /b 
::********************************************************************************************* 
:EOF 
EXIT 
0

ваш код должен работать проверить журнал сценария путем удаления @ECHO выключения (если у вас есть что) и положить паузу в конце увидеть, что ошибки он выплевывает, и вы не можете понять, как решить проблему, то опубликовать ПИК консоли и плохо зе, если я могу увидеть, что случилось

[Редактировать]

Попробуйте это я проверил его и его работал, пока не работает консоль, если она все еще не работает.

start JoyToKey_en\JoyToKey.exe 
echo n | start /wait AbeWin.exe 
taskkill /f /im JoyToKey.exe 
+0

спасибо, но и консоль, и joytokey.exe закрываются, как только открывается игра, не знаю, почему – AlexTCGPro

+0

добавить ПАУЗА в конце вашего кода и посмотреть, что произойдет –

Смежные вопросы