Jason, you were correct. Somehow, my batch file was 0 bytes. Thanks! For anyone curious, here's what I ended up with for my ePSXe definition. I used AntiMicro to map the Xbox 360 Guide button (I'm actually using a DS3 controller with Xinput driver) to the ESC key. AM can be used just as easily to map to Alt-F4. NoTrayOrphans is an AutoHotkey compiled EXE used to clean up dead system tray icons from here: https://autohotkey.com/board/topic/80624-notrayorphans
My batch script:
start "AHK" c:\emulators\utilities\ahk\autohotkey.exe c:\emulators\utilities\ahk\epsxe.ahk
start "AM" "c:\Program Files\antimicro\antimicro.exe" --hidden --profile "c:\users\living\documents\AM - Guide button is ESC.amgp"
cd \emulators\psx\epsxe
start "ePSXe-from-script" /WAIT c:\emulators\psx\epsxe\epsxe -nogui -loadbin %1 %2 %3 %4 %5 %6 %7 %8 %9
start "kill AM" /WAIT c:\Windows\System32\taskkill.exe /F /im
antimicro.exe start "kill NTO" /MIN /B c:\emulators\Utilities\NoTrayOrphans.exe
My external AutoHotkey script (epsxe.ahk):
=================
SetTitleMatchMode, 2 ; Relax title matching a bit
#Persistent ; Start loop
SetTimer, ePSXeLoadState, 75 ; Wait 75 milliseconds before checking again
return
ePSXeLoadState:
IfWinExist, ePSXe - Enhanced PSX emulator
{
WinActivate ; Use the window found from 'IfWinExist'
; SetTimer, ePSXeLoadState, Off ; Turn the timer off (not needed in this script)
Sleep, 450 ; May have to lengthen this delay if ePSXe isn't ready to receive input
; Send {F3} ; Normal 'Send' operation isn't recognized in ePSXe
SendInput {F3 down} ; so we use the 'SendInput' Method
Sleep, 50 ; to load state from slot 1
SendInput {F3 up}
Sleep, 500
SendInput {F2 down} ; Switch to a save slot besides 1
Sleep, 50
SendInput {F2 up}
Sleep, 500
SendInput {F5 down} ; Enable Analogue control
Sleep, 50
SendInput {F5 up}
Sleep, 100
ExitApp ; Quit AutoHotKey
}
else
return
==================