oi sera que alguem pode me ajudar eu baixei a multijogos caseira do brbranco mas eu queria usar a tecla esc para fechar os emuladores como faço para configurar a tecla esc ?
pelos os topicos antigos eu fiz assim
;****************************************
;Autoit V3
;Autor brbranco
;Data 22/04/2008
;Objetivo: Controlar o emulador brmamep.exe
;****************************************
;ajustas as opções
AutoItSetOption("WinTitleMatchMode", 4)
AutoItSetOption("RunErrorsFatal", 0)
;verifica se o advmenu passou o nome da rom
If NOT $CmdLine[0] = 1 Then
SplashImageOn("", "..\auxiliar\image\mensa1.gif", 220, 40, -1, -1, 1)
SoundPlay("..\auxiliar\som\advfaltajogo.wav",1)
SplashOff()
Exit ( 0 )
EndIf
;verifica se o arquivo aumame.ini existe
If Not FileExists("aumame.ini") Then
SplashImageOn("", "..\auxiliar\image\mensa2.gif", 220, 40, -1, -1, 1)
Sleep(10000)
SplashOff()
Exit ( 0 )
EndIf
;abre o arquivo aumame.ini, e verifica os parametros necessarios.
Global $mamepar1
$mamepar1=IniRead("aumame.ini","EXECUTAVEL","NOME","")
If $mamepar1="" Then
SplashImageOn("", "..\auxiliar\image\mensa3.gif", 220, 40, -1, -1, 1)
Sleep(10000)
SplashOff()
Exit ( 0 )
EndIf
;verifica se existe algum parametro adicional a ser passado para o emulador
$mamepar2=IniRead("aumame.ini","PARAMETRO","COMANDO","")
If $mamepar2="" Then
$mamepar2 = $CmdLine[1]
Else
$mamepar2 = ($CmdLine[1] & " " & $mamepar2 )
EndIf
;abre o joytokey
$drive=StringLeft(@ScriptDir,2)
If Not ProcessExists("joytokey.exe") Then
$exe_joy = ShellExecute("joytokey.exe", "brmamep", $drive & "\arcade\joytokey")
if @error Then
SplashImageOn("", "..\auxiliar\image\mensa4.gif", 220, 40, -1, -1, 1)
Sleep(10000)
SplashOff()
FechaEmulador()
Local $EMULADOR, $FECHOU
Exit(0)
EndIf
EndIf
;chama o emulador
$exe_mame = ShellExecute($mamepar1, $mamepar2, @ScriptDir,"open",@SW_HIDE)
If @error Then
SplashImageOn("", "..\auxiliar\image\mensa5.gif", 220, 40, -1, -1, 1)
SoundPlay("..\auxiliar\som\erroemuexe.wav")
SplashOff()
Exit(0)
EndIf
WinWaitActive("classname=brmamep", "",10)
HotKeySet("{ESC}", "sair") ;Define "esc" como Hotkey para sair
HotKeySet("5", "PegaFicha") ;intala o hotkey, usando a tecla "5" , ficha
HotKeySet("1", "EnviaFicha") ;intala o hotkey, usando a tecla "1", start
;rotina de loop
GLOBAL $lopping
$lopping=1
While $lopping
sleep(100)
WEnd
Exit(0)
;função que irá verificar o estado do emulador e fecha-lo caso necessario
Func FechaEmulador()
Local $emulador, $fechou
;remove os hotkeys
HotKeySet("{ESC}")
HotKeySet("5")
HotKeySet("1")
;envia um ESC para o emulador
if Not WinActive("classname=brmamep") Then
WinActivate ("classname=brmamep")
EndIf
Send("{ESC DOWN}")
Sleep(100)
Send("{ESC UP}")
;mostra a menssagem
SplashImageOn("", "..\auxiliar\image\mensa6.gif", 220, 40, -1, -1, 1)
SoundPlay("..\auxiliar\som\fechaemu.wav",1)
$fechou=WinWaitClose("classname=brmamep","", 5)
if Not $fechou Then
ProcessClose($mamepar1)
EndIf
;fecha o joytokey
If ProcessExists("joytokey.exe") Then
if Not WinActive("classname=TApplication") Then
WinActivate ("classname=TApplication")
EndIf
Send("{LALT}FX")
EndIf
SplashOff()
;encerra a rotina principal
$lopping=0
EndFunc
;função responssavel por armazenar as fichas
Func PegaFicha()
Local $atual, $valor, $contador, $calcula, $adiciona
;lê os dados atuais
$atual=IniRead("..\advmenu.ini","FICHEIRO","FICHAS","0")
$contador=IniRead("..\advmenu.ini","FICHEIRO","CONTADOR","0")
$valor=IniRead("..\advmenu.ini","CONFIGURACAO","TEMPOPORFICHA","600000")
$calcula=(Number($atual) + Number($valor))
$adiciona=(Number($contador)+1)
;grava os novos valores
IniWrite("..\advmenu.ini","FICHEIRO","FICHAS",String($calcula))
IniWrite("..\advmenu.ini","FICHEIRO","CONTADOR",String($adiciona))
SoundPlay("..\auxiliar\som\coin.wav")
EndFunc
;função responssavel por enviar a ficha para o emulador
Func EnviaFicha()
Local $atual, $valor, $calcula
;lê os dados atuais
$atual=IniRead("..\advmenu.ini","FICHEIRO","FICHAS","0")
$valor=IniRead("..\advmenu.ini","CONFIGURACAO","TEMPOPORFICHA","600000")
;se as fichas já foram enviadas, então envia um start
If Number($atual) < Number($valor) Then
HotKeySet("1")
Send("{1 down}")
sleep(100)
Send("{1 up}")
HotKeySet("1", "EnviaFicha")
SoundPlay("..\auxiliar\som\semficha.wav") ;informa que não há mais fichas
Return ;sai sem enviar a ficha
EndIf
;atualiza a quantidade de fichas
$calcula=(Number($atual) - Number($valor))
IniWrite("..\advmenu.ini","FICHEIRO","FICHAS",String($calcula))
;envia a ficha para o emulador
Send("{5 down}")
sleep(100)
Send("{5 up}")
EndFunc
mas quando eu preciono o esc, fecha o emulador mas não encerra o script, e não volta para o menu de escolha,só fica na tela do explorer, o que eu faço? alguem pode me ajudar?