Page 1 sur 1

[..]SendKeyDownDelay? Comment l'utiliser?

Posté : lun. 01 mars 2010 20:02
par Shannou06
Bonjour à tous,

Je voulais savoir comment utiliser la fonction "SendKeyDownDelay", ses options ainsi que son utilité.

Tout simplement.

Cordialement,
Shannou06.

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : lun. 01 mars 2010 20:45
par Narmeke
Ouvrire scite, puis appuyer sur la touche F1 ! Toutes les fonctions y sont répertorié !

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : mer. 03 mars 2010 13:56
par Shannou06
Ca je le savais mais je ne comprend pas...
Pourriez-vous peut-être m'expliquer ce que nous donne SCitE?

Merci d'avance.

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : mer. 03 mars 2010 23:45
par Tlem
Tiré de la documentation de la fonction Send() de l'aide de AutoIt :
Opt("SendKeyDelay",...) alters the the length of the brief pause in between sent keystrokes.
Opt("SendKeyDownDelay",...) alters the length of time a key is held down before being released during a keystroke.
Set both "SendKeyDelay" and "SendKeyDownDelay" to 0 to remove all delays when sending keystrokes. This may be required under certain circumstances, for example, when locking the system ("#l") it may be necessary to remove the delays in order to prevent the WIN key from being stuck down.

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : ven. 05 mars 2010 18:12
par Shannou06
Merci pour cela Tlem.
Cependant, pourriez-vous me donner un exemple de script juste précisant où l'ont place la touch à appuyer, le temps durant lequel elle est appuyée, ainsi que toutes les options..

Merci beaucoup!

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : ven. 05 mars 2010 18:46
par Tlem
Vous avez tout ce qu'il vous faut ici : http://www.autoitscript.fr/autoit3/docs ... s/Send.htm

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : dim. 07 mars 2010 11:09
par Shannou06
Je ne comprend pas comment l'utiliser......

send("" [, Opt(SendKeyDownDelay, 1000)??
send("" [, Opt(SendKeyDownDelay,"a" 1000)??
send"")Opt(SendKeyDownDelay, 1000)??

Merci d'avance.

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : dim. 07 mars 2010 11:38
par Tlem
Merci de rajouter les balises de code dans votre message précédent.

Il faudrait aussi apprendre à lire ce qui est écrit. :evil:
Extrait de la documentation de Send() :
Opt("SendKeyDelay",...) alters the length of the brief pause in between sent keystrokes.
Opt("SendKeyDownDelay",...) alters the length of time a key is held down before being released during a keystroke.
Ce sont donc des commandes à part entière.

Si je clique sur SendKeyDownDelay (Option) (en dessous des deux ligne précédente), je peut lire ceci :
SendKeyDownDelay Alters the length of time a key is held down before being released during a keystroke. For applications that take a while to register keypresses (and many games) you may need to raise this value from the default.
Time in milliseconds to pause (default=5).
Donc avec un petit peux de réflexion, j'en déduit que :

Code : Tout sélectionner

Opt("SendKeyDownDelay", 3)
modifie le temps pendant lequel la touche envoyée par la commande Send() à 3 millisecondes au lieu de 5 millisecondes (par défaut).

Le documentation de AutoIt est riche en explications et en détails.
Encore faut-il prendre le temps de lire et de comprendre.
Ce n'est pas toujours facile, mais sans cela, vous serez vite handicapé pour le reste de votre apprentissage ou de l'utilisation de AutoIt.
.

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : dim. 07 mars 2010 18:01
par Shannou06
J'ai compris cela!!!!!!!!!!!!!

Mais pourriez vous me mettre un bout de code avec la fonction entière??!!??

Merci d'avance.

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : dim. 07 mars 2010 18:24
par Tlem
Shannou06 a écrit :avec la fonction entière??!!??
Mais quelle fonction entière ??? :shock:
Cette commande se suffit à elle même, je ne vois pas ce que vous voulez de plus !

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : dim. 07 mars 2010 19:24
par Shannou06
Bon, je vais me mettre sous cette form là:

Je veux une fonction qui appuies sur la touche "a" pendant 2secondes.

Merci !=)

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : dim. 07 mars 2010 19:45
par Tlem
A partir de la documentation de la commande Send(). :P

Code : Tout sélectionner

Send("{a down}") ;Appuie et maintient la touche 'a' enfoncée.
Sleep(2000) ; Pause de 2 secondes.
Send("{a up}") ;Relâche la touche a

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : mar. 09 mars 2010 19:32
par Shannou06
Je teste cela demain et je vous dis si ça marche.

Merci de votre aide précieuse.

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : mer. 17 févr. 2021 21:49
par pmb
Slt voici l'utilisation de la commande SendKeyDownDelay:
Send("{TAB}", Opt("SendKeyDownDelay", 1000))

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : jeu. 18 févr. 2021 16:17
par mikell
Répondre à un sujet vieux de 11 ans présente un intérêt discutable

Sinon je déconseille fortement cette formule "concentrée" :
Send("...", Opt("SendKeyDownDelay", 1000))
qui envoie comme paramètre à la fonction Send la valeur de retour de Opt soit la valeur initiale du KeyDownDelay
De plus il est hautement souhaitable après exécution du Send de remettre le KeyDownDelay à sa valeur initiale, et la formule en l'état ne permet pas de récupérer cette valeur

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : jeu. 18 févr. 2021 23:13
par pmb
Slt Mikell. J'ai cru important de répondre car ayant profité des échanges qui ont été menés et qui m'ont fait découvrir plein de choses sur AutoIt. Merci pour la remarque. J'ai aussi constaté la difficulté d'utilisation de cette formule. Je la déconseille, elle ne m'a pas été utile bien que j'aille réussi à trouver sa mise en oeuvre.

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : ven. 19 févr. 2021 13:29
par TommyDDR
C'est surtout que ce n'est pas du tout la façon de l'utiliser.
En effet, le second paramètre que Send attend est un flag qui indique si la chaine de caractère doit être envoyée tel quel ou si les + ^ ! (etc) doivent être interprété comme shift ctrl ou alt (etc) :
send.png
Et comme opt() renvoie l'ancienne valeur du paramètre, vous allez envoyer une mauvaise information à Send (certes, Opt s'exécutera et cela agira bien sur le temps d'envoi des touches, mais vous avez 99% de chance de désactiver les touches spéciales)
Bref, Opt n'a rien à faire ici.

Si vraiment vous voulez le faire avec remise de l'ancien paramètre :
Local $oldValue = Opt("SendKeyDownDelay", 1000)
Send("a")
$oldValue = Opt("SendKeyDownDelay", $oldValue)
Il n'y a pas d'autres façon de faire. (à la limite si vous ne voulez pas remettre l'ancienne valeur :
Opt("SendKeyDownDelay", 1000)
Send("a")

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : ven. 19 févr. 2021 13:32
par mikell
TommyDDR a écrit : ven. 19 févr. 2021 13:29vous avez 99% de chance de désactiver les touches spéciales
Personnellement (en utilisation "normale") j'aurais dit 100%, mais bon... :mrgreen:

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : ven. 19 févr. 2021 15:59
par TommyDDR
Vu qu'il y a une possibilité d'avoir "0" pour cette option, on a une infime chance d'avoir le flag 0 :p mais oui, c'est plus proche du 0 que du 1% ^^

Re: [..]SendKeyDownDelay? Comment l'utiliser?

Posté : ven. 19 févr. 2021 17:10
par Tlem
J'espère qu'on ne va pas prendre l'habitude de réveiller des vieux sujets comme celui-là. :(