[..]SendKeyDownDelay? Comment l'utiliser?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Shannou06
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 01 mars 2010 19:54
Status : Hors ligne

[..]SendKeyDownDelay? Comment l'utiliser?

#1

Message par Shannou06 »

Bonjour à tous,

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

Tout simplement.

Cordialement,
Shannou06.
Avatar du membre
Narmeke
Niveau 6
Niveau 6
Messages : 247
Enregistré le : mer. 28 oct. 2009 11:31
Localisation : Libourne
Status : Hors ligne

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

#2

Message par Narmeke »

Ouvrire scite, puis appuyer sur la touche F1 ! Toutes les fonctions y sont répertorié !
Shannou06
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 01 mars 2010 19:54
Status : Hors ligne

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

#3

Message 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.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11638
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#4

Message 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.
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é".
Shannou06
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 01 mars 2010 19:54
Status : Hors ligne

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

#5

Message 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!
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11638
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#6

Message par Tlem »

Vous avez tout ce qu'il vous faut ici : http://www.autoitscript.fr/autoit3/docs ... s/Send.htm
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é".
Shannou06
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 01 mars 2010 19:54
Status : Hors ligne

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

#7

Message 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.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11638
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#8

Message 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.
.
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é".
Shannou06
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 01 mars 2010 19:54
Status : Hors ligne

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

#9

Message par Shannou06 »

J'ai compris cela!!!!!!!!!!!!!

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

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

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

#10

Message 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 !
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é".
Shannou06
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 01 mars 2010 19:54
Status : Hors ligne

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

#11

Message par Shannou06 »

Bon, je vais me mettre sous cette form là:

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

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

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

#12

Message 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
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é".
Shannou06
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 01 mars 2010 19:54
Status : Hors ligne

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

#13

Message par Shannou06 »

Je teste cela demain et je vous dis si ça marche.

Merci de votre aide précieuse.
pmb
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mer. 17 févr. 2021 21:38
Status : Hors ligne

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

#14

Message par pmb »

Slt voici l'utilisation de la commande SendKeyDownDelay:
Send("{TAB}", Opt("SendKeyDownDelay", 1000))
Avatar du membre
mikell
Modérateur
Modérateur
Messages : 6087
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#15

Message 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
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
pmb
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mer. 17 févr. 2021 21:38
Status : Hors ligne

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

#16

Message 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.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 1941
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

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

#17

Message 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")
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
mikell
Modérateur
Modérateur
Messages : 6087
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#18

Message 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:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 1941
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

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

#19

Message 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% ^^
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11638
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#20

Message par Tlem »

J'espère qu'on ne va pas prendre l'habitude de réveiller des vieux sujets comme celui-là. :(
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é".
Répondre