Page 1 sur 1
scripts pour lancer mes emulateurs depuis Kodi
Posté : jeu. 20 avr. 2017 21:52
par Myghalloween
Bonjour,
Je suis plutôt débutant dans les langages de programmation, mais grâce à Autoit j'ai réussi à faire quelques scripts simples pour lancer mes émulateurs depuis Kodi avec des commandes et arguments plutôt basiques.
Cette étape étant passée et suffisante pour mes besoins, j'essaye juste de rendre mes scripts un peu plus cosmétique et pratique à modifier, en procédant par étape pour comprendre. Sachant que jusqu'ici j'y vais de façon un peu expérimentale, surtout pour placer les ' , et " pour lesquelles je veux bien des précisions ^^
Voilà ce que ça donne pour lancer Project64 depuis Kodi (celui-ci fonctionne ^^) :
Code : Tout sélectionner
HotKeySet("{ESC}", "Terminate")
Send ( "#{F9}" ); Permet de désactiver temporairement le focus de Kodi
Run ( '"C:\VMs\Project64 2.1\Project64.exe" "' & $CmdLine[1] & '"' )
Func Terminate()
ProcessClose ( "Project64.exe" )
WinSetState("Kodi", "", @SW_MAXIMIZE)
Send ( "#{F9}" ); Réactive le focus de Kodi
Exit 0
EndFunc
Et j'essaye de le transformer avec des variables à définir en début de script afin de modifier facilement et rapidement sans risque d'erreur lorsque j'ai une nouvelle version pour chacun de mes émulateurs (ce script me retourne une erreur) :
Code : Tout sélectionner
HotKeySet("{ESC}", "Terminate")
; variable a definir :
$path = "C:\VMs\Project64 2.1"
$app = "Project64.exe"
Send ( "#{F9}" ); Permet de désactiver temporairement le focus de Kodi
Run ( '" & $path & $app & '" "' & $CmdLine[1] & '"' )
Func Terminate()
ProcessClose ( " $app " )
WinSetState("Kodi", "", @SW_MAXIMIZE)
Send ( "#{F9}" ); Réactive le focus de Kodi
Exit 0
EndFunc
Mes scripts sont faits depuis SciTE et compilés avec Aut2exe v3 en x64 pour win 7.
J'espère vous fournir suffisamment d'info pour m'aider. J'attends vos conseils pour progresser
Merci

Re: scripts pour lancer mes emulateurs depuis Kodi
Posté : ven. 21 avr. 2017 05:39
par Tlem
Bonjour,
A première vue, il y a 2 erreurs dans cette ligne : Run ( '" & $path & $app & '" "' & $CmdLine[1] & '"' )
Vous devriez essayer ceci : Run ( '"' & $path & "\" & $app & '" "' & $CmdLine[1] & '"' )
Re: scripts pour lancer mes emulateurs depuis Kodi
Posté : ven. 21 avr. 2017 12:03
par Myghalloween
Bonjour !
Effectivement c'est déjà mieux ! J'ai aussi modifié la commande run par runwait puisque je me suis aperçu que la fonction Terminate ne fonctionnait pas sans ça
J'ai pu simplifier une grande majorité de mes scripts ! Reste que je n'arrive pas à intégrer un argument, ni dans la commande runwait, ni dans la variable $emuExe... Du coup je ne trouve pas comment lancer Kodi en mode portable. Lorsque je fais ce simple code :
Kodi se lance bien en mode portable.
Par contre j'ai tenté ça dans mon code :
Code : Tout sélectionner
$emuPath = "C:\Program Files (x86)\Kodi 16.1"
$emuExe = "kodi.exe" -p
HotKeySet("{ESC}", "Terminate")
RunWait ( '"' & $emuPath & "\" & $emuExe & '"' )
Func Terminate ()
ProcessClose ( "kodi.exe" )
EndFunc
ça me retourne une erreur de fonction inconnue
Quand j’enlève -p le code fonctionne, mais kodi se lance normalement et non en mode portable
Re: scripts pour lancer mes emulateurs depuis Kodi
Posté : ven. 21 avr. 2017 18:13
par Tlem
Bonsoir,
Remplacez
$emuExe = "kodi.exe" -p
par
$emuExe = "kodi.exe -P"
ou comme ceci :
Code : Tout sélectionner
$emuPath = "C:\Program Files (x86)\Kodi 16.1"
$emuExe = "kodi.exe"
HotKeySet("{ESC}", "Terminate")
RunWait ( '"' & $emuPath & "\" & $emuExe & ' -p"' )
Func Terminate ()
ProcessClose ( "kodi.exe" )
EndFunc
Re: scripts pour lancer mes emulateurs depuis Kodi
Posté : ven. 21 avr. 2017 18:59
par Myghalloween
Bonsoir Thierry et merci pour l'aide.
Donc j'ai testé les 2 solutions mais rien ne se passe. Pas d'erreur non plus...
J'en profite pour demander au passage pourquoi ça sa marche dans mon code précédent
Et pourquoi ça sa marche pas ?
Re: scripts pour lancer mes emulateurs depuis Kodi
Posté : sam. 22 avr. 2017 04:22
par Tlem
Bonjour.
Vous devez impérativement faire attention avec l'utilisation des guillemets.
ProcessClose ( " & $emuExe & " )
=> rocessClose ( '"' & $emuExe & '"' )
Regardez comment apparaissent vos variables dans SciTE. Si elles sont de la même couleur qu'un texte simple, alors elles ne seront par interprétées.
Re: scripts pour lancer mes emulateurs depuis Kodi
Posté : sam. 22 avr. 2017 11:08
par Myghalloween
Oui j'ai beaucoup de mal avec les guillemets, j'y vais souvent de façon expérimental
Du coup je viens de tester avec
et ça ne fonctionne pas. Mais pas d'erreur non plus en l’occurrence. Par contre j'ai essayé
(de façon expérimental encore une fois

) et ça marche !
Donc mon code donne pour le moment :
Code : Tout sélectionner
$emuPath = "C:\Program Files (x86)\Kodi 16.1" ; define variable
$emuExe = "kodi.exe" ; define variable
HotKeySet ("{ESC}", "Terminate")
RunWait ( '"' & $emuPath & "\" & $emuExe & '"' )
Func Terminate ()
ProcessClose ( $emuExe )
EndFunc
Par contre je ne trouve toujours pas de solution pour lancer kodi en mode portable... J'essaye pleins de solutions différentes sans succès

Re: scripts pour lancer mes emulateurs depuis Kodi
Posté : sam. 22 avr. 2017 14:45
par Tlem
Normalement, RunWait ( '"' & $emuPath & "\" & $emuExe & ' -p"' )
ou RunWait ( '"' & $emuPath & "\" & $emuExe & '" -P' )
devrait fonctionner.
Re: scripts pour lancer mes emulateurs depuis Kodi
Posté : sam. 22 avr. 2017 15:12
par Myghalloween
Salut Thierry,
Bon j'en ai un qui fonctionne
Curieusement
RunWait ( '"' & $emuPath & "\" & $emuExe & '"-p' )
fonctionne alors que si je mets un P majuscule, comme dans votre exemple, ça ne fonctionne pas...

, et concernant
RunWait ( '"' & $emuPath & "\" & $emuExe & '-p"' )
, pas d'erreur, mais ça ne fonctionne pas...
Cependant je ne trouve pas pour l'intégrer dans l'argument

Re: scripts pour lancer mes emulateurs depuis Kodi
Posté : sam. 22 avr. 2017 18:53
par Tlem
Bonjour.
En l'état vos lignes de commandes ne devaient pas fonctionner car il manque l'espace avant le signe "-".
Concernant votre dernière question essayez :
emuPath
= "C:\Program Files (x86)\Kodi 16.1" ; define variable$emuExe = "kodi.exe" ; define variable$arg = "-p" ; argument de la ligne de commandeHotKeySet ("{ESC}", "Terminate")RunWait ( '"' & $emuPath & "\" & $emuExe & '" ' & $arg ) ; Notez l'espace entre le double et le simple guillemetFunc Terminate
() ProcessClose ( $emuExe )EndFunc
Re: scripts pour lancer mes emulateurs depuis Kodi
Posté : dim. 23 avr. 2017 12:52
par Myghalloween
Bonjour Thierry
Mon code fonctionne justement sans espace avant "-" et ne fonctionne pas si j'ai un espace... curieux...
Par contre avec votre code ça marche avec ou sans espace ! Donc c'est parfait !
Je bloque encore sur un code, pour PCSX2, puisque je dois ajouter également un argument en plus de $CmdLine[1] sinon le lanceur ne fonctionne pas :
Code : Tout sélectionner
$emuPath = "C:\VMs\PCSX2 1.4.0" ; define variable
$emuExe = "pcsx2.exe" ; define variable
$emuArg = "--nogui --fullscreen" ; define variable
HotKeySet ("{ESC}", "Terminate")
;~ Send ( "#{F9}" ) ; disables Kodi focus in Launcher4Kodi
;~ RunWait ('"' & $emuPath & "\" & $emuExe & '" "' & $CmdLine[1] & '"') ; commande fonctionnelle mais pas d'argument
RunWait ( '"' & $emuPath & "\" & $emuExe & '"' & $emuArg & $CmdLine[1] & '"' )
Func Terminate ()
ProcessClose ( $emuExe )
;~ Send ( "#{F9}" ) ; actives Kodi focus in Launcher4Kodi
Exit 0
EndFunc
ça c'est mon ancienne ligne de code qui fonctionne
Runwait ( '"pcsx2.exe" --nogui --fullscreen "' & $CmdLine[1] & '"', "" )
Merci pour votre précieuse aide !

Re: scripts pour lancer mes emulateurs depuis Kodi
Posté : lun. 24 avr. 2017 16:45
par Tlem
Bonjour.
Je pense que vous devriez garder le code existant et rajouter votre argument supplémentaire dans la déclaration des variables :
$emuArg = '--nogui --fullscreen "' & $CmdLine[1] & '"' ; define variable
Là, c'est brut de décoffrage, en principe il faudrait vérifier qu'il y a bien un argument car sinon, cette ligne provoquera une erreur.
Regardez la doc sur CmdLine pour faire le contrôle du nombre d'arguments et si il y à bien l'argument passer le paramètre dans une variable que vous mettrez à la place de $CmdLine[1]. ^^
Re: scripts pour lancer mes emulateurs depuis Kodi
Posté : lun. 24 avr. 2017 23:43
par Myghalloween
Bonsoir Thierry,
J'aime beaucoup l'idée d'intégrer l'argument $CmdLine[1] dans la variable mais j'ai beau tout essayer, je n'y arrive pas
Par contre j'ai un code fonctionnel en attendant de réussir à intégrer $CmdLine[1] dans la variable $emuArg :
Code : Tout sélectionner
$emuPath = "C:\VMs\PCSX2 1.4.0" ; define variable
$emuExe = "pcsx2.exe" ; define variable
$emuArg = "--nogui --fullscreen" ; define variable
HotKeySet ("{ESC}", "Terminate")
;~ Send ( "#{F9}" ) ; disables Kodi focus in Launcher4Kodi
RunWait ( '"' & $emuPath & "\" & $emuExe & '" '& $emuArg &' "' & $CmdLine[1] & '"' )
Func Terminate ()
ProcessClose ( $emuExe )
;~ Send ( "#{F9}" ) ; actives Kodi focus in Launcher4Kodi
Exit 0
EndFunc
Si vous avez une idée pour l'intégrer dans la variable je suis preneur parce que là je bloque, te je pense avoir tenté pas mal de solution avec les " et '
En tout cas merci pour l'aide jusqu'ici car j'ai vraiment bien progressé

Re: scripts pour lancer mes emulateurs depuis Kodi
Posté : ven. 28 avr. 2017 19:54
par Tlem
Bonsoir.
Je constate qu'il n'y a pas d'évolution depuis mon retour en France. ^^
Je vous propose donc ceci :
$emuPath = "C:\VMs\PCSX2 1.4.0" ; define variable$emuExe = "pcsx2.exe" ; define variable$emuArg = '--nogui --fullscreen "' & $CmdLineRaw & '"' ; define variableHotKeySet ("{ESC}", "Terminate");~ Send ( "#{F9}" ) ; disables Kodi focus in Launcher4KodiRunWait ( '"' & $emuPath & "\" & $emuExe & '" '& $emuArg)Func Terminate
() ProcessClose ( $emuExe );~ Send ( "#{F9}" ) ; actives Kodi focus in Launcher4Kodi Exit 0EndFunc
L’inconvénient de ce code, c'est que sans argument(s) il y aura 2 guillemets vide en fin de ligne de commande, mais comme je doute qu'ils soient interprétés, ca ne devrait pas gêner.
Sinon, il faut rajouter en début de script un test de la variable
$CmdLineRaw
et passer par le transfert des arguments par une variable supplémentaire. Maintenant, comme je l'ai dit précédemment, je doute que vos softs interprètent un vide entre deux guillemets doubles. ^^
Re: scripts pour lancer mes emulateurs depuis Kodi
Posté : ven. 05 mai 2017 10:48
par Myghalloween
Merci pour ton aide Thierry, ça semble fonctionner
