2016-08-21 2 views
0

에뮬레이터로 게임을 시작하는 .ahk 스크립트를 만들고 싶습니다. 에뮬레이터가 열리면 F10을 보내야 저장 상태가로드되어 게임 메뉴로 바로 이동하여 소개를 이동할 수 있습니다.AutoHotkey를 사용하여 에뮬레이터에서 게임 시작

Run, C:\Users\****\Documents\!Others\Emulators\SNES9x\snes9x-x64.exe -fullscreen "E:\Consoles\Nintendo SNES\Goof Troop\Goof Troop.smc" 
Sleep, 100 
IfWinExist ahk_class Snes9X: WndClass 
{ 
    WinActivate 
    WinWaitActive 
    IfWinActive ahk_class Snes9X: WndClass 
    Send, {F10} 
    Return 
} 

내가 F10이 적절한 시간에 전송되어 있는지 확인하려면이 내가 지금까지 무엇을 가지고 있습니다. 스크립트는 먼저 에뮬레이터가 열리기를 기다려야합니다. 제가 제대로하고 있습니까?

어떻게 해야할지 전혀 모른다는 또 다른 사실은 Xinput을 키보드로 변환하는 것입니다. 예를 들어 내가 게임 중일 때 LB + RB + B를 누르면 ALT + F4로 변환되고 창을 닫습니다. 내가 어떻게 할 수 있니?

답변

0

내가 에뮬레이터 프로세스의 이름은 에뮬레이터가 열리면 우리는 윈도우가 루프에서 활성화되어 있는지 확인합니다 다음, 여기에

processName := "snes9x-x64.exe" 
run %processName% 
flag = 0 

Loop 
{ 
    WinGetTitle, title, ahk_exe %processName% 
    IfWinActive, %title% 
    { 
     If flag = 0 
     { 
      Send, {F10} 
      flag = 1 
     } 
    } 
} 

snes9x-x64.exe는 경우, 가정하면됩니다 방법 그런 다음 플래그를 사용하여 창이 활성화되면 F10을 보내고 루프를 중지하십시오.

LB + RB + B의 경우 xpadder와 같은 키보드 시뮬레이터를 사용해야하고 LB, RB 및 B 키를 키보드 키로 매핑하고 이에 대한 바로 가기를 정의해야합니다.

+0

고마워요! –

+0

AutoHotkey는 xinput을 기본적으로 dinput으로 변환 할 수 있다고 생각했는데, 구현해야하는 동정이었습니다. 이유는 모르겠지만 xpadder가 마음에 들지 않지만 더 나은 대안이 있습니다. 더 나은 대안이 될 것이라고 생각합니다. 컨트롤러 동반자가하고 싶습니다! –