Page 3 sur 3

Re: [...] Runner pour jeux

Posté : dim. 10 oct. 2010 18:47
par Tlem
Le forum n'est pas un chat.
Si vous voulez discuter, allez ici : http://www.autoitscript.fr/forum/mchat.php

Re: [...] Runner pour jeux

Posté : dim. 10 oct. 2010 20:28
par Kagami
OoO,

J'ai testé S4 en remplaçant le Run par un ShellExecute:

Code : Tout sélectionner

        Case $Button6
            $Search = _FileListToArrayNT("C:\", "patcher_s4.exe", 0, 2, True, "", 2) ; Recherche le fichier patcher_s4.exe
            $s4Path = StringTrimLeft($Search, 1) ; Enleve le premier caractère du résultat (un | )
            ShellExecute($s4Path) ; Lance S4
Et voici ce qui apparait quand je clique sur le bouton "S4 League":
Image

Peut-être cela veut dire que je peux le démarrer avec ShellExecute en remplaçant certaines choses?
EDIT: Est-ce parce qu'un fichier (Un patch je pense) ne se lance pas avec le patcher?

EDIT: Excusez-moi pour le flood mais ça m'inquiète de ne pas trouver de solutions. Mais, nous sommes dans la partie Aide non? Il est donc normal que je pose des questions pour trouver une aide ou une réponse.

Re: [...] Runner pour jeux

Posté : dim. 10 oct. 2010 20:36
par Tlem
Je confirme que vous êtres dans le forum 'Aide générale'.
Mais il ne faut pas confondre aide et assistance en ligne.

Vous devez chercher un minimum. Je doute qu'en l'espace de quelques minutes vous ayez fait le tour de vos problèmes et fouiller le forum ou le fichier d'aide à la recherche d'une réponse.

Re: [...] Runner pour jeux

Posté : dim. 10 oct. 2010 20:42
par Kagami
Je cherche enfait depuis hier ^^"
Bon, je vais arrêter de demander de l'aide à tord et à travers.
Désolé pour le dérangement.

Re: [...] Runner pour jeux

Posté : lun. 11 oct. 2010 10:15
par Kagami
Bonjour,

J'ai réussi à faire Dofus Arena.
Il ne marchait pas car il y avait deux UpLauncher: Un pour Dofus 2.0 et l'autre pour Dofus Arena. Il n'y avait qu'à renommer celui de Dofus 2.0 et le problème été réglé en mettant ce code pour Dofus Arena:

Code : Tout sélectionner

        Case $Button8
            $Search = _FileListToArrayNT("C:\", "UpLauncher.exe", 0, 2, True, "", 2) ; Recherche le fichier UpLauncher.exe
            $DofusArenaPath = StringTrimLeft($Search, 1) ; Enleve le premier caractère du résultat (un | )
            ShellExecute($DofusArenaPath) ; Lance Dofus Arena
Mais mon problème persiste pour S4, j'ai essayé à peut près toute les possibilités ^^"
Sinon, quelqu'un peut me dire comment on fait pour lancer notre logiciel au démarrage de l'ordinateur s'il vous plait? (J'ai cherché dans les 20 premières pages de "Aide générale" Et j'ai fait 6 pages de "Exemple de Script"...)

Re: [...] Runner pour jeux

Posté : lun. 11 oct. 2010 12:23
par SrBelial
bon, alors le coup du fichier ini j'ai une solution :

dans votre run (ou shellexecute selon ce que vous aurez choisi), vous donnez bien le bon chemin vers l'exécutable, pas de problème, par contre il lance l'exécutable dans le répertoire courant (répertoire de votre script autoit) ... du coup lorsque l'exe cherche ses fichiers de ressource et tout et tout il est incapable de les trouver ...

la solution =>
n'oubliez pas de remplir le paramètre workingdir, pour lui dire dans quel répertoire il faut exécuter l'exe ...
je prends un exemple :

Code : Tout sélectionner

run("c:\program files\toto\machin.exe", "c:\program files\toto\")
c'est peut être pas très carré dit comme ça, mais lisez la doc des fonctions que vous utilisez, je pense que cela sera suffisant ...

edit : et un dernier point :
Vous connaissez l'emplacement des fichiers, utiliser une fonction de recherche est donc un très mauvais choix, à la fois du point de vue fonctionnel : pb de recherche = bug pas de lancement, mais aussi du point de vue ressources consommées et performances ....
quand on connait quelque chose, on évite autant que possible de le rechercher de nouveau, au pire on le recherche une fois puis on l'enregistre une fois pour toute quelque part dans un fichier de conf ....
plus vous réduirez l'utilisation de ce genre d'outils, plus vous réduirez le nombre de sources potentielles de bugs .... un script simple = un script facile à maintenir, à débugger, plus efficace, etc ...

Re: [...] Runner pour jeux

Posté : lun. 11 oct. 2010 12:41
par Kagami
SrBelial a écrit :bon, alors le coup du fichier ini j'ai une solution :

dans votre run (ou shellexecute selon ce que vous aurez choisi), vous donnez bien le bon chemin vers l'exécutable, pas de problème, par contre il lance l'exécutable dans le répertoire courant (répertoire de votre script autoit) ... du coup lorsque l'exe cherche ses fichiers de ressource et tout et tout il est incapable de les trouver ...

la solution =>
n'oubliez pas de remplir le paramètre workingdir, pour lui dire dans quel répertoire il faut exécuter l'exe ...
je prends un exemple :

Code : Tout sélectionner

run("c:\program files\toto\machin.exe", "c:\program files\toto\")
c'est peut être pas très carré dit comme ça, mais lisez la doc des fonctions que vous utilisez, je pense que cela sera suffisant ...
Veuillez m'excuser mais je ne comprends pas.
Vous voulez dire que je devrais mettre comme code:

Code : Tout sélectionner

            $Search = _FileListToArrayNT("C:\Program Files (x86)\alaplaya\S4League\patcher_s4", "C:\Program Files (x86)\alaplaya\S4League\", 0, 2, True, "", 2) ; Recherche le fichier patcher_s4.exe
            $s4Path = StringTrimLeft($Search, 1) ; Enleve le premier caractère du résultat (un | )
            ShellExecute($s4Path) ; Lance S4
Je pense avoir très mal compris ^^"

Re: [...] Runner pour jeux

Posté : lun. 11 oct. 2010 12:46
par SrBelial
je confirme, vous avez très mal compris !!! lol

vous devez remplacer tout votre bouzin par une seule et simple ligne :

Code : Tout sélectionner

ShellExecute("C:\patati...patata\le dossier de dofus arena\UpLauncher.exe", "", "C:\patati...patata\le dossier de dofus arena\")
pour le cas de run (si vous utilisez run au lieu de ShellExecute), il me semble que le second paramètre ("" vide) doit être supprimé ... là on s'en sert pour dire à ShellExecute : je lance un exe, sans paramètres supplémentaires (mais en indiquant quand même le répertoire de travail de l'exe)

c'est plus clair ? sinon je ferai un tuto la dessus lol

Re: [...] Runner pour jeux

Posté : lun. 11 oct. 2010 12:59
par Kagami
Youhou! Ca marche!
(PS: Pour Dofus Arena, j'avais déjà régler le problème, il ne restait plus que S4)

Vraiment merci n_n Merci! Merci! Merci!

Je ne voudrais pas abuser de votre gentillesse (et de vos connaissances) mais une question me trotte dans la tête depuis le début:
Comment faire pour que quand je coche "Démarrer au démarrage de l'ordinateur", le logiciel se démarre en même temps que l'ordinateur. Et bien sur, que ça reste coché jusqu'à ce que l'utilisateur le décoche.
Encore Merci

Re: [...] Runner pour jeux

Posté : lun. 11 oct. 2010 13:50
par SrBelial
premièrement :
* il vous faut enregistrer quelque part l'état de la case à cocher pour qu'elle se recharge correctement à l'ouverture du script :
soit dans une clé du registre (baaaah c'est sale !!), soit dans un variable d'environnement (un peu moins sale, en vrai c'est quand même stocké dans le registre mais c'est moins grave ... parce que ça reste accessible à un humain et que ça peut se régler sans aller tripatouiller regedit, soit dans un fichier de conf, chargé au lancement.)

au moment ou l'utilisateur coche la case il vous faut :
* enregistrer la ou vous voulez une valeur qui dit que c'est coché ("true", "vrai", 1, "ok", 0x1, ce que vous voulez)
* rajouter le script dans le démarrage soit en tapant dans le registre (HKLM>...>currentversion>run), soit en ajoutant un raccourci dans le menu démarrer > tous les programmes > démarrage.


au moment ou l'utilisateur décoche la case il vous faut : faire le contraire !!
* enregistrer une valeur qui dit que c'est décoché ("false", "faux", 0, "ko", 0x0, autre ...)
* supprimer le script du démarrage.


au lancement du script il vous faut :
* charger la valeur pour savoir si vous devez créer une checkbox cochée ou non dans l'interface,
* puis si c'est décoché de toute évidence vous auriez du ne pas lancer le script, donc on détruit le raccourci qui a lancé, ou la clé de registre qui a lancé le script, puis on quitte


bon courage !

Re: [...] Runner pour jeux

Posté : lun. 11 oct. 2010 13:54
par Kagami
Heu... Je crois que je vais supprimer cette option xD
C'est... Mon premier Script donc, je connait à peu près que ce que j'ai utilisé pour ce script >.<
Le reste c'est du chinois T-T
Mouais... Je crois que vas falloir abandonner cette idée...