[R] Arrêter un programme depuis le clavier

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
mafooley
Niveau 2
Niveau 2
Messages : 27
Enregistré le : dim. 24 août 2008 22:04
Status : Hors ligne

[R] Arrêter un programme depuis le clavier

#1

Message par mafooley »

Bonjour à tous,

Voilà, je pense que le titre est relativement précis.
En fait, mon programme est une simple boucle qui effectue plusieurs action (pression de touches, déplacement de curseur, etc...). J'aimerai pouvoir à tout moment agir sur le programme d'un simple pression de touche.
Par exemple à n'importe quel moment de la boucle, j'appuie sur S, et je quitte le programme ou alors j'appuie sur D et je reviens au début de la boucle sans même l'avoir terminée.

Merci d'avance,

Mafooley
Modifié en dernier par mafooley le jeu. 20 nov. 2008 12:13, modifié 1 fois.
Avatar du membre
L4crymal
Niveau 8
Niveau 8
Messages : 513
Enregistré le : mer. 24 sept. 2008 14:53
Status : Hors ligne

Re: [..] Arrêter un programme depuis le clavier

#2

Message par L4crymal »

Code : Tout sélectionner

while 1
HotKeySet("{s}", "exit")

func exit()
exit
endfunc
 
quand tu appuie sur "s" cela ferme le programme
Avatar du membre
mafooley
Niveau 2
Niveau 2
Messages : 27
Enregistré le : dim. 24 août 2008 22:04
Status : Hors ligne

Re: [..] Arrêter un programme depuis le clavier

#3

Message par mafooley »

Merci pour la réponse rapide mais cela ne fonctionne pas.
une erreur apparait au lancement du programme ci-dessous:

Code : Tout sélectionner

While 1

HotKeySet("{s}","exit")

Send("{n}")
sleep(1000)
Send("{n}")
sleep(1000)
MouseClick("left",100,650,1,50)
sleep(1000)

WEND

func exit()
    Exit
EndFunc
 
De plus, je n'arrive pas à retourner au début de la boucle avec la touche d par exemple.

Merci d'avance,

Mafooley
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Arrêter un programme depuis le clavier

#4

Message par timmalos »

Pour fermer :

Code : Tout sélectionner

While 1

HotKeySet("{s}","exit2")

Send("{n}")
sleep(1000)
Send("{n}")
sleep(1000)
MouseClick("left",100,650,1,50)
sleep(1000)

WEND

func exit2()
    Exit
EndFunc
Avatar du membre
mafooley
Niveau 2
Niveau 2
Messages : 27
Enregistré le : dim. 24 août 2008 22:04
Status : Hors ligne

Re: [..] Arrêter un programme depuis le clavier

#5

Message par mafooley »

Et avec ce principe, si je me trouve entre le "send 1000" et le "Mouseclick" et que j'appuie sur "s", ça devrait quitter ?

Et pour revenir au début, j'ai fait ça mais ça ne parche pas:

Code : Tout sélectionner


debut()

Func debut()

While 1

HotKeySet("{s}","exit2")
HotKeySet("{d}","debut")

Send("{n}")
sleep(1000)
Send("{n}")
sleep(1000)
MouseClick("left",100,650,1,50)
sleep(1000)

WEND

EndFunc    ;debut()

Func exit2()
    Exit
EndFunc    ;exite2()
 
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Arrêter un programme depuis le clavier

#6

Message par Tlem »

Pourquoi mettre le HotKeySet dans la boucle While ???
Un HotKeySet se défini en début de script et ne change généralement plus, sauf si on veut attribuer une autre fonction à la même touche, ou éliminer la définition de celle-ci ...

Le code devrait ce présenter comme ceci :

Code : Tout sélectionner

HotKeySet("{s}", "exit2")

While 1
    Send("{n}")
    Sleep(1000)
    Send("{n}")
    Sleep(1000)
    MouseClick("left", 100, 650, 1, 50)
    Sleep(1000)
WEnd

Func exit2()
    Exit
EndFunc
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mafooley
Niveau 2
Niveau 2
Messages : 27
Enregistré le : dim. 24 août 2008 22:04
Status : Hors ligne

Re: [..] Arrêter un programme depuis le clavier

#7

Message par mafooley »

Ça fonctionne !!!

Même la fonction retour au début.

Merci beaucoup.
Avatar du membre
L4crymal
Niveau 8
Niveau 8
Messages : 513
Enregistré le : mer. 24 sept. 2008 14:53
Status : Hors ligne

Re: [..] Arrêter un programme depuis le clavier

#8

Message par L4crymal »

Alors corrige dans ton sujet et met [R] à la place de [..] Merci :wink:
Avatar du membre
mafooley
Niveau 2
Niveau 2
Messages : 27
Enregistré le : dim. 24 août 2008 22:04
Status : Hors ligne

Re: [..] Arrêter un programme depuis le clavier

#9

Message par mafooley »

Rebonjour à tous,

je me permet de réouvrir ce topic car je suis confronté à un problème relativement lié. Il s'agit, de la même manière, arrêter ou plutot interagir sur le programme via le clavier, mais sur un logiciel. Il parait que si le logiciel utilise Directx, celà fonctionne différement.
Merci d'avance

Maf
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Arrêter un programme depuis le clavier

#10

Message par Tlem »

Votre question n'est vraiment pas très claire.
Vous voulez intervenir sur votre programme ou sur un autre programme ?
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mafooley
Niveau 2
Niveau 2
Messages : 27
Enregistré le : dim. 24 août 2008 22:04
Status : Hors ligne

Re: [..] Arrêter un programme depuis le clavier

#11

Message par mafooley »

En fait voilà, j'aimerai interagir sur le programme autoit pendant que celui-ci tourne en tâche de fond et agit sur un logiciel. Toutes les commande d'action du programme fonctionnent mais il ne m'est pas possible l'arrêter via une touche et la commande HotKeySet. On m'a dit que c'était parce que le logiciel en question tourne avec Directx et que dans ce cas, certaines fonctions autoit ne fonctionnaient pas (HotKeySet, également toutes actions avec les couleurs de pixel à l'écran).

voilà, j'espère avoir été un peu plus préci :wink:

Maf
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Arrêter un programme depuis le clavier

#12

Message par Tlem »

mafooley a écrit :voilà, j'espère avoir été un peu plus préci
Heuuu ... bof.

HotKeySet intervient directement sur le code AutoIt.
Il permet de faire une action à l'appui de la touche configurée avec cette commande et il n'est pas dépendent de l'environnement sauf si un autre logiciel reprogramme les touches pour sa propre action. :mrgreen:

L'utilisation de DirectX n'a absolument rien à voir avec ceci.
Ne voyant aucune ligne de votre code, je ne peut vous apporter plus d'aide.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mafooley
Niveau 2
Niveau 2
Messages : 27
Enregistré le : dim. 24 août 2008 22:04
Status : Hors ligne

Re: [..] Arrêter un programme depuis le clavier

#13

Message par mafooley »

Alors c'est surement ça car en effet, le logiciel dispose de ses propres touches de raccourcis. Je vais chercher un autre moyen alors...

Merci beaucoup :D

Maf
Répondre