[R] HotKeySet ou _IsPressed pour un mot

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

[R] HotKeySet ou _IsPressed pour un mot

#1

Message par Rancar »

Coucou à tous :)

J'ai un p'tit problème. En fait, je cherche à faire un HotKeySet ou _IsPressed pour un mot.
Du genre :
► Afficher le texte
ou
► Afficher le texte
J'ai essayé plusieurs comme truc comme :
- Hotkeyset("b"&"o"&...,"bonjour") ==> Va directement à la fonction si on appuie sur une des touches

- _IsPressed("41" AND "42","ab") ==> On est oblige d'appuyer sur a et b en même temps

- If _IsPressed("41" Then
If _IsPressed("42") Then
Exit
Endif
Endif

==> Pareil que l'autre, on doit appuyez sur les deux touches en même temps :)

Avez-vous une idée pour cela, de préférence un HotKeySet qui est, d'après moi, plus simple à gérer qu'un _IsPressed (qui demande à être dans une boucle dans mon cas)

Merci à vous :)
Modifié en dernier par Rancar le sam. 20 juil. 2013 18:34, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] HotKeySet ou _IsPressed pour un mot

#2

Message par mikell »

Hotkeyset et _IsPressed ne sont pas adaptés pour ce que tu veux faire
Dans les 2 cas c'est la touche (ou la combinaison de touches) enfoncée(s) qui est enregistrée, dès que tu relaches la touche tu perds "l'effet hotkey"
Va falloir trouver autre chose et te construire une fonction ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [..] HotKeySet ou _IsPressed pour un mot

#3

Message par Rancar »

Ah quel dommage ! :(
Je vais essayé de creuser un peu plus sur le forum anglais car ça me paraît étonnant d'être le premier à avoir besoin de cela :P

Merci Mikell :)
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [..] HotKeySet ou _IsPressed pour un mot

#4

Message par Rancar »

J'ai trouvé ! :D
C'est tout bête mais fallait y penser ^^
► Afficher le texte
=> Dans cet exemple, il faut saisir "bon" pour quitter le script :P
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#5

Message par PandiPanda »

c'est pas optimal ^^
il suffirai de taper un mot avec un "b", un autre avec un "o" et finalement un autre avec un "n" et ca fonctionnera de toute maniere :p

par exemple le mot "binon". Inventé certes mais fonctionnel ^^
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#6

Message par mikell »

J'ai fantasmé là-dessus :mrgreen:
Avec HotKeySet ou _IsPressed pas moyen (ou alors ingérable par le pc)
Il faut analyser systématiquement toutes les touches pressées et que le script réagisse seulement si 7 frappes consécutives forment le mot "bonjour"
On peut le faire, mais c'est un mécanisme de keylogger :wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#7

Message par Rancar »

Je n'y avais même pas pensé PandiPanda ! Merci de me l'avoir fait remarqué ! :P

Ah bah... là je ne sais même pas par où commencer ._.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#8

Message par Tlem »

Si vous cherchez à faire cela pour un contrôle Input par exemple, vous avez déjà une solution sur le forum. Si vous cherchez à le faire en mode HotKeySet (capture de touche), comme l'a dit mikell, cela s'apparente trop à un keylogger et dans ce cas vous n'obtiendrez pas d'aide car ce type d'utilitaire est proscrit sur ce forum. ^^
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é".
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#9

Message par Rancar »

Oui pour le Input je sais comment faire mais en fait, je cherchais cela parce que j'ai créé une Gui de chargement qui bloque la souris avec BlockInPut (une UDF trouvé sur le forum anglais). Et lorsqu'on saisit un mot (mot de passe), il se ferme sans passer par Input ni par HotKeySet qui permet qu'une seule lettre ou un raccourci clavier.

Je vais continuer à creuser, j'ai trouvé StringLen qui pourrait peut-être m'être utile (pour ne pas utiliser un keylogger) :)
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#10

Message par Rancar »

Re,

Je viens de coder ceci qui semble fonctionner mais j'ai peur que cela ressemble un peu à un keylogger :S Qu'en pensez-vous ? (C'est un gros brouillon ^^)
► Afficher le texte
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#11

Message par mikell »

Le principe du keylogger c'est d'être indétectable et de marcher sans gêner le fonctionnement d'autres applications, et là c'est pas vraiment le cas dans la mesure où le script squatte le clavier :mrgreen:
C'est le problème avec une ribambelle de hotkeyset, le clavier ne peut plus être utilisé pour autre chose
C'est ce que je voulais dire en disant que c'était ingérable, la seule alternative c'est une collection de If _IsPressed(..) mais le pc ne va pas aimer
Un indice : recherche 'rawinput keyboard' sur le forum US
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#12

Message par Rancar »

Ah tant mieux alors :D

Dans le cas de mon script, cela ne change pas quand chose étant donné qu'il y a un BlockInPut mais c'est vrai qu'ailleurs c'est plus gênant :/
À propos de HotKeySet, à quoi est dû cette impossibilité d'écrire quelque chose si l'on utilise plusieurs HKS ? ^^ Ça m'intrigue :P
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#13

Message par mikell »

Hotkeyset monopolise l'usage de la touche
Mais si tu as une gui, l'exemple 'mot de passe' de BlockInputEx devrait suffire non ?
Dur de faire autrement, BlockInput empêche les hotkeys de fonctionner ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#14

Message par Rancar »

Je verrais demain car je suis sur mon GSM pour le moment ^^
L'exemple fonctionne avec un mot comme mot de passe ? Et sans Input ?
C'est cela que je recherche car j'ai déjà une GUI qui fonctionne avec l'UDF BlockInPutEx mais cette GUI se ferme des que l'on clique sur une la touche ESC. J'ai donc cherché à rendre cela plus sécurisé (loin d'être sécurisé mais bon, vous me comprennez :p). Et l'input dans une Gui de couleur, je trouve cela assez moche ^^
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#15

Message par PandiPanda »

Il ne faut pas oublié la remarque concernant "BlockInput()"
Remarks
The table below shows how BlockInput behavior depends on the Windows version; however, pressing Ctrl+Alt+Del on any platform will re-enable input due to a Windows API feature.
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#16

Message par Rancar »

Oui je connais bien BlockInPut qui est beaucoup trop stricte. Car j'ai d'autres scripts qui tournent et qui seront bloqués. C'est pourquoi j'ai cherché l'UDF BlockInPutEx =)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#17

Message par mikell »

Rancar a écrit :Et l'input dans une Gui de couleur, je trouve cela assez moche ^^
Ben oui mais il faut bien enregistrer et analyser la saisie, donc ya que 3 solutions
Ou tu essaies de faire un input invisible (positionné hors de la gui ça donne exactement ce que tu veux)
► Afficher le texte
ou tu fais une capture invisible (possible avec rawinput) mais là on frise le keylogger
ou tu fais comme ça (ce n'est pas un "vrai" keylogger dans la mesure où c'est subordonné à une gui)
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Rancar
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 11 avr. 2013 23:46
Localisation : Bruxelles
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#18

Message par Rancar »

Je viens d'essayer le premier code qui me conviens parfaitement ! :)

Merci Mikell :)
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#19

Message par jchd »

Ceci conviendrait-il ?
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] HotKeySet ou _IsPressed pour un mot

#20

Message par mikell »

ça ne marche pas chez moi avec l'exemple fourni CALLME{ENTREE} (à cause de la touche entrée) mais sinon oui, c'est ok
Mais avec un hook c'est trop facilement modifiable en keylogger, dans ce cas autant le faire avec rawinput ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre