我想创建一个.ahk脚本,用模拟器启动游戏。打开模拟器时,应该发送F10
加载保存状态,让我直接进入游戏菜单并跳转介绍。这是我到目前为止所得到的:
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 :(得分:0)
我的方法是,假设模拟器进程的名称是snes9x-x64.exe,那么
processName := "snes9x-x64.exe"
run %processName%
flag = 0
Loop
{
WinGetTitle, title, ahk_exe %processName%
IfWinActive, %title%
{
If flag = 0
{
Send, {F10}
flag = 1
}
}
}
这里一旦模拟器打开,我们将检查窗口是否在循环中处于活动状态,然后发送F10并在窗口激活后使用标志停止循环。
对于LB + RB + B,您必须使用键盘模拟器(如xpadder)并将键LB,RB和B映射到键盘键并为其定义快捷键。