[..] Simuler frapper clavier

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
jeanphi45
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 23 sept. 2010 09:55
Status : Hors ligne

[..] Simuler frapper clavier

#1

Message par jeanphi45 »

Bonjour,

J'ai vu des exemples de simulation de frappe clavier mais ils passaient par Notepad.

Je voudrais faire cela :
- Dans n'importe quelle fenêtre de saisie (donc pas forcément dans Notepad) , taper un raccourci clavier ( ex : Alt A ) qui me tapera automatiquement du texte ( ex : toto ).

J'image donc qu'il faut associer un raccourci clavier à mon fichier au3

Merci d'avance

Jean-Philippe
Avatar du membre
Manwe
Niveau 4
Niveau 4
Messages : 57
Enregistré le : mer. 08 oct. 2008 09:21
Status : Hors ligne

Re: [..] Simuler frapper clavier

#2

Message par Manwe »

Salut,

dans ton script tu peux utiliser HotKeySet
► Afficher le texte
Un clavier azerty en vaut deux.
Avatar du membre
jeanphi45
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 23 sept. 2010 09:55
Status : Hors ligne

Re: [..] Simuler frapper clavier

#3

Message par jeanphi45 »

En fait , ce que je voudrais :

sous Windows , une touche de fonction ( ex : Win c ) qui me lance mon fichier au3 et dans mon fichier au3 j'aurais

Code : Tout sélectionner

 send ("toto")
Si je mets HotKeySet dans mon fichier au3 , comment windows va le reconnaître ? L'idée est d'associer mon fichier au3 à un raccourci clavier.

PS : je suis grand débutant sous AutoIt
Avatar du membre
Manwe
Niveau 4
Niveau 4
Messages : 57
Enregistré le : mer. 08 oct. 2008 09:21
Status : Hors ligne

Re: [..] Simuler frapper clavier

#4

Message par Manwe »

C'est plus un problème windows alors.
Je que je ferais:
Tu créé un raccourci vers ton script .au3, dont le contenu est send("toto")
dans les propriétés du raccourci tu as le champ 'shortcut key', et c'est toi qui defini les touches (Avec un CTRL par défaut il me semble).
Et assure toi que tu l'executes le script quand tu double-clique sur ton fichier .au3.
Un clavier azerty en vaut deux.
Avatar du membre
jeanphi45
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 23 sept. 2010 09:55
Status : Hors ligne

Re: [..] Simuler frapper clavier

#5

Message par jeanphi45 »

Cela fonctionne.

J'ai saisi la touche J dans le champ "Touche de raccourci" .
Windows force à CTRL + ALT J .
( j'aurais plutôt voulu utiliser la touche Windows , mais j'ai l'impression que Windows ne veut que des CTRL + autre chose )

J'ai encore un souci :
quand je lance plusieurs fois CTRL ALT J , par exemple , dans la fenêtre de recherche Google, cela me bloque le clavier et je suis obligé de rebooter.

Question : est-ce qu'une seule ligne ( send "mon texte" ) suffit dans on fichier "au" , ou dois-je lui dire de sortir proprement ? si je dois lui dire de sortir , quelle est l'instruction ?
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: [..] Simuler frapper clavier

#6

Message par scorp84 »

Bonjour jeanphi45,

Pour ton bug, envoie nous ton code que l'on voit ce qui ne va pas.

Pour utiliser Ctrl :

Code : Tout sélectionner

HotKeySet("^{F9}", "nom_fonction") ; Ctrl + F9
Amicalement.

BM
Avatar du membre
jeanphi45
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 23 sept. 2010 09:55
Status : Hors ligne

Re: [..] Simuler frapper clavier

#7

Message par jeanphi45 »

Je n'utilise pas HotKeySet car la touche de fonction est paramétrée dans mon raccourci Windows.

Mon fichier pg1.au n'a qu'une seule ligne :

Code : Tout sélectionner

Send("coucou")
Ensuite , je mets sur le bureau Windows un raccourci qui pointe sur le fichier pg1.au ,
et je tape J dans le champ "touche de raccourci" dans les propriétés du raccourci.


Merci d'avance.
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: [..] Simuler frapper clavier

#8

Message par scorp84 »

Essaye ça :

Code : Tout sélectionner

HotKeySet("^j", "_Txtexte") ; Ctrl + J


Func _Txtexte()
    Send("coucou")

EndFunc


While 1
    Sleep(100)
WEnd
Cela te permettra de ne pas utiliser les raccourcis de touches Windows et de tout contrôler depuis autoit.

En espérant avoir pu t'aider.

Amicalement.

BM
Avatar du membre
jeanphi45
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 23 sept. 2010 09:55
Status : Hors ligne

Re: [..] Simuler frapper clavier

#9

Message par jeanphi45 »

le pb c'est que je veux envoyer du texte dans n'importe quelle interface ( word , excel , notepad , firefox , etc ...)

c'est-à-dire : je suis dans mon interface , exemple word , et je tape mon raccourci clavier .

Ce que m'a dit Manwe fonctionne , mais cela bloque parfois.

Si je mets HotKeySet dans le fichier au , comment windows va faire pour lancer le fichier au ?
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [..] Simuler frapper clavier

#10

Message par SrBelial »

bon, il y a une petite lacune à combler :

en fait ce que l'on essaie de proposer comme solution depuis un moment implique la gestion du raccourci clavier ET de la fonction d'envoi de données (simulation de frappe clavier) DANS UN SEUL ET UNIQUE SCRIPT ....
ce qui te décharge des éventuelles limitations sur les raccourcis claviers pris en charge par windows,
et qui te permet de pouvoir appeler ta fonction, quelle que soit l'application en cours (word, notepad, firefox, etc ...)

=> le plus simple est d'avoir un script qui tourne en arrière plan (voir le dernier exemple donné, la boucle while sert à faire tourner le script en continu) ... ce qui permet de pouvoir appeler à tout instant la fonction _Txtexte() via le raccourci clavier Ctrl + J ....

pour des raisons de simplicité, d'optimisation, et autres, je te conseille d'étudier à fond cet exemple, car non seulement c'est une bonne façon de faire, mais en plus il est facilement adaptable pour pouvoir faire plein plein de choses différentes lorsque tu tape des raccourcis claviers différents ..... !!!

bon courage, et n'hésites pas à reposer des questions si besoin.
si le problème est résolu, pense à la balise [R] en début de titre du premier message.
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
Avatar du membre
jeanphi45
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 23 sept. 2010 09:55
Status : Hors ligne

[R] Simuler frapper clavier

#11

Message par jeanphi45 »

Ok , j'ai compris .

Je lance le .au au démarrage de ma machine et celui ci écoute.

Merci !
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: [..] Simuler frapper clavier

#12

Message par scorp84 »

jeanphi45?

Dernière petite chose : si tu compiles ton script en .exe, tu pourras le mettre sur une machine sur laquelle il n'y a pas autoit. Ton script sera alors autonome.

Bonne continuation.

Amicalement.

BM
Avatar du membre
jeanphi45
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 23 sept. 2010 09:55
Status : Hors ligne

Re: [..] Simuler frapper clavier

#13

Message par jeanphi45 »

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

Re: [..] Simuler frapper clavier

#14

Message par Tlem »

N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.
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
jeanphi45
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 23 sept. 2010 09:55
Status : Hors ligne

Re: [..] Simuler frapper clavier

#15

Message par jeanphi45 »

souci :
quand j'exécute le script , cela m'écrit bien le texte mais la touche CTRL reste active.
exemple : si je lance excel , cela me dit "la touche CTRL est enfoncée"

le script :

Code : Tout sélectionner

HotKeySet("^j", "_Txtexte") ; Ctrl + J


Func _Txtexte()
    Send("no_prof_base = ")

EndFunc


While 1
    Sleep(100)
WEnd
Avatar du membre
Manwe
Niveau 4
Niveau 4
Messages : 57
Enregistré le : mer. 08 oct. 2008 09:21
Status : Hors ligne

Re: [..] Simuler frapper clavier

#16

Message par Manwe »

Lève ton petit doigt :mrgreen:
J'ai testé, et ca fonctionne chez moi. Je ne vois pas ce qui peut ne pas marcher.
CTRL+J, affiche le texte dans excel, CTRL+C et CTRL+V copy-paste, etc.
Un clavier azerty en vaut deux.
Avatar du membre
jeanphi45
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 23 sept. 2010 09:55
Status : Hors ligne

Re: [..] Simuler frapper clavier

#17

Message par jeanphi45 »

Voilà ce que je fais par exemple :
1) j'exécute le script .au3
2) je lance un notepad par exemple
3) je fais CTRL J --> no_prof_base = s'écrit tout seul ( et je ne reste pas endormi sur la touche CTRL :mrgreen: )
4) je lance excel et j'ai un message ( cf pièce jointe )
Fichiers joints
2010-09-27_095756.png
2010-09-27_095756.png (8.37 Kio) Vu 3068 fois
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Simuler frapper clavier

#18

Message par Jerome »

Coucou,


Tu utilise HotKeySet, mais en est - il de même avec _IsPressed ?


Peux - tu tester ?




Jérôme
Répondre