Salut Firch', voilà ce que tu veux, à un détail prêt, on ne touche pas au module (si on peut éviter c'est mieux en général, j'avoue l'avoir déjà fais mais bon ...j'irai pas demander de l'aide à djvj après si ça foire j'me ferai incendier ^^). Donc le truc c'est de lancer via ton PCLauncher non pas l'exe du jeu mais ton fichier altEnterMugenMegaman-1.exe par exemple. (tu peux l'appeler comme tu veux du moment qu'il ait la forme :
nom-numéro.exe
et aucun autre tiret que celui qui les lie, ou numéro est l'index du jeu à lancer dans ton altEnter.ini.
altEnter.7z
Il y a déjà un ini commenté, mais s'il est effacé il se recrée et y a plus qu'à le re-remplir. Au final tu aura donc :
altEnter.ini
altEnterMugenMegaman-1.exe
altEnterScummVM.exe
etc...
et ton PCLauncher tu le configures pour chaque jeu pour qu'il lance le bon exe. Sinon, je le dis dans l'ini mais je te le ré-écris là. Mugen va râler et t'envoyer un message d'erreur si tu mets pas ton script altEnterMugenMegaman-1.exe dans le même répertoire que ton jeu (D'ailleurs si on tombe sur un exe de la même sorte, qui refuse de se lancer si on lui met le path dans l'ini, alors il suffit de laisser 'pathToGameExe3=' sans rien derrière le = et de mettre le altEnter-3.exe dans le même répertoire).
Et pour zyeuter le code, il est bien sûr inclus dans le 7z et aussi là si tu veux bidouiller (c'est de l'AutoIt3, donc à installer avant si tu veux le compiler) :
altEnter.au3
If Not FileExists('altEnter.ini') Then
$fh = FileOpen('altEnter.ini', 2)
FileWriteLine($fh, "; Nom du fichier exécutable à lancer, sans l'extension")
FileWriteLine($fh, @CRLF)
FileWriteLine($fh, "[GAME]")
FileWriteLine($fh, "name1=MegaMan - The Calamix Power Fighters")
FileWriteLine($fh, "name2=scummvm")
FileWriteLine($fh, @CRLF)
FileWriteLine($fh, "; Chemin ou se situe l'exécutable, si vide, alors c'est qu'il est à l'endroit du script altEnter")
FileWriteLine($fh, "; Pour les jeux MUGEN, ne rien mettre ici et mettre altEnter dans le même répertoire que l'exe du jeu")
FileWriteLine($fh, "; Chaque chemin doit se terminer par \")
FileWriteLine($fh, @CRLF)
FileWriteLine($fh, "[PATH]")
FileWriteLine($fh, "pathToGameExe1=")
FileWriteLine($fh, "pathToGameExe2=H:\HyperSpin\Emulators\ScummVM\")
FileWriteLine($fh, @CRLF)
FileWriteLine($fh, "; Délai en millisecondes s'écoulant avant que la commande ALT+Entrée soit envoyée, une fois l'exécutable lancé")
FileWriteLine($fh, "; 1500 (1 seconde et demie) est le minimum pour ma machine, ça dépend de la puissance de la machine et du programme à lancer")
FileWriteLine($fh, @CRLF)
FileWriteLine($fh, "[DELAY]")
FileWriteLine($fh, "duration=1500")
FileWriteLine($fh, @CRLF)
FileWriteLine($fh, "; Durée d'appui d'une touche en millisecondes, 10ms par défaut, mais certain jeux mettront du temps à enregistrer")
FileWriteLine($fh, "; L'appui, si ce temps est supérieur à cette valeur, il ne recevrai pas ALT+Entrée")
FileWriteLine($fh, @CRLF)
FileWriteLine($fh, "[SENDKEYDOWNDELAY]")
FileWriteLine($fh, "keydownDuration=10")
FileWriteLine($fh, @CRLF)
FileClose($fh)
EndIf
$keydownDuration = IniRead('altEnter.ini', 'SENDKEYDOWNDELAY', 'keydownDuration', 10)
Opt('SendKeyDownDelay', $keydownDuration)
$split = StringSplit(@ScriptName, '-')
If $split[0] 2 Then
MsgBox(48, "Erreur", "Le nom du fichier de script doit être impérativement de la forme: altEnter-3.exe, ou 3 est le numéro du jeu dans la liste à lancer")
Exit
EndIf
$num = StringLeft($split[2], StringLen($split[2]) - 4)
$pathToGameExe = IniRead('altEnter.ini', 'PATH', 'pathToGameExe'$num, '')
If $pathToGameExe = '' Then
$pathToGameExe = @ScriptDir '\'
EndIf
$name = IniRead('altEnter.ini', 'GAME', 'name'$num, '')
If Not FileExists($pathToGameExe$name'.exe') Then
$name = ''
EndIf
Switch $name
Case ''
MsgBox(48, 'Erreur', 'Programme : '$name ' non trouvé')
Exit
Case Else
$duration = IniRead('altEnter.ini', 'DELAY', 'duration', '1500')
Run($pathToGameExe$name'.exe')
Sleep($duration)
Send('!{ENTER}')
EndSwitch
altEnter.ini
; Nom du fichier exécutable à lancer, sans l'extension
[GAME]
name1=MegaMan - The Calamix Power Fighters
name2=scummvm
; Chemin ou se situe l'exécutable, si vide, alors c'est qu'il est à l'endroit du script altEnter
; Pour les jeux MUGEN, ne rien mettre ici et mettre altEnter dans le même répertoire que l'exe du jeu
; Chaque chemin doit se terminer par \
[PATH]
pathToGameExe1=
pathToGameExe2=H:\HyperSpin\Emulators\ScummVM\
; Délai en millisecondes s'écoulant avant que la commande ALT+Entrée soit envoyée, une fois l'exécutable lancé
; 1500 (1 seconde et demie) est le minimum pour ma machine, ça dépend de la puissance de la machine et du programme à lancer
[DELAY]
duration=1500
; Durée d'appui d'une touche en millisecondes, 10ms par défaut, mais certain jeux mettront du temps à enregistrer
; L'appui, si ce temps est supérieur à cette valeur, il ne recevrai pas ALT+Entrée
[SENDKEYDOWNDELAY]
keydownDuration=10
ah et au cas où j'ai encore une question sur la provenance de ce script : de moi et 1h de boulot