Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

simuler frappe clavier

4 réponses
Avatar
titou44
bonjour

pouvez-vous m'indiquer le code à mettre dans un bouton pour simuler la
frappe alt + touche espace + touche u

merci par avance

titou44 chez freesurf.fr

4 réponses

Avatar
cetin.cig
On 20 avr, 22:52, "titou44" wrote:
bonjour

pouvez-vous m'indiquer le code à mettre dans un bouton pour simuler la
frappe alt + touche espace + touche u

merci par avance

titou44 chez freesurf.fr



Voici l'aide de la finction: ENVOIETOUCHE()

Simule des manipulations de touches au clavier et à la souris. La
fonction EnvoieTouche peut envoyer des frappes de touches ou des
manipulations de la souris à toute application conçue pour être
exécutée dans un environnement Windows.

// Envoie ALT+F4 pour fermer l'application: EnvoieTouche("%{F4}")

// Simule l'utilisation du clic droit de la souris sur une colonne de
table
// Une colonne de table n'a pas de handle, on lui donne donc le focus
pour y remédier
DonneFocus(TableClient.NomClient)

// Envoie du clic droit
EnvoieTouche("{BTNDROIT[,1[,1]]}", TableClient.NomClient)

// Dérouler le menu "&Fichier" d'une fenêtre principale
EnvoieTouche("&f")

// Dérouler le menu "&Fichier .. &Nouveau" d'une fenêtre principale
EnvoieTouche("&fn")

Envoyer des touches / des actions souris à une fenêtre ou un champ
identifié par son Handle
<Résultat> = EnvoieTouche(<Touche ou souris> [, <Handle de la fenêtre
ou du champ>])

Détails des paramètres
<Résultat> : Booléen: Vrai si l'envoie de touches a réussi, Faux dans
le cas contraire.
<Touche ou souris> : Chaîne de caractères
Manipulations de la souris, touche ou combinaison de touches au
clavier à exécuter. Chaque touche est représentée par un ou plusieu rs
caractères (voir notes).
<Handle de la fenêtre ou du champ> : Entier optionnel
Handle de la fenêtre (ou du champ) à laquelle les touches doivent être
envoyées. Si ce paramètre n'est pas spécifié, les touches sont
envoyées à la fenêtre en cours.
Le handle d'une fenêtre ou d'un champ peut être connu avec les
fonctions Handle ou SysFenHandle.

Envoyer des touches / des actions souris à une fenêtre ou un champ
identifié par son nom
<Résultat> = EnvoieTouche(<Touche ou souris> [, <Nom de la fenêtre ou
du champ>])

Détails des paramètres
<Résultat> : Booléen: Vrai si l'envoie de touches a réussi, Faux dans
le cas contraire.
<Touche ou souris> : Chaîne de caractères
Manipulations de la souris, touche ou combinaison de touches au
clavier à exécuter. Chaque touche est représentée par un ou plusieu rs
caractères (voir notes).
<Nom de la fenêtre ou du champ> : Chaîne de caractères optionnelle
Nom ou alias de la fenêtre (ou du champ) à laquelle les touches
doivent être envoyées. Si ce paramètre n'est pas spécifié, les to uches
sont envoyées à la fenêtre en cours.

Comment spécifier les touches ou les manipulations de la souris à
effectuer ?
Le paramètre <Touche ou souris> correspond aux manipulations de la
souris, touche ou combinaison de touches au clavier permettant de
lancer le raccourci. Chaque touche est représentée par un ou plusieurs
caractères. Il n'est pas nécessaire de préciser "Ctrl-Alt" qui est
ajouté automatiquement. Par défaut, il n'y a pas de touche de
raccourci.

Pour utiliser un seul caractère du clavier, il faut utiliser le
caractère proprement dit. Par exemple, pour représenter la lettre A,
affectez la valeur "A" au paramètre <Touche ou souris>. Pour utiliser
une suite de caractères, utilisez directement la suite de caractères
("ADB").
Attention : La fonction attribue une signification spéciale aux signes
suivants :
- plus (+),
- insertion (^),
- pourcentage (%),
- parenthèses ( ).

Pour utiliser l'un de ces caractères, il est nécessaire de le placer
entre accolades. Par exemple, pour utiliser le signe plus (+), tapez
{+}. Pour utiliser des accolades, utilisez les caractères {{} et {}}.

Pour utiliser des caractères spéciaux, des codes spécifiques sont
nécessaires pour identifier :
- les caractères n'ayant aucune action à l'écran (par exemple, la
touche Entrée),
- les caractères correspondant à une action (par exemple, les touches
de fonction).

Il est nécessaire d'utiliser les codes suivants :
Touche Code Touche Code
RET.ARR {RA} PAUSE {PAUSE}
VERR.MAJ {VERRMAJ} SUPPR {SUPPR}
BAS {BAS} FIN {FIN}
ENTREE {ENTREE} ECHAP {ECHAP}
AIDE {AIDE} ORIGINE {ORIGINE}
INSERTION {INSER} GAUCHE {GAUCHE}
VERR.NUM {VERRNUM} PG.SUIV {PGSUIV}
PG.PREC {PGPREC} IMPR. ECRAN {IMPRECR}
DROITE {DROITE} ARRET.DEFIL {ARRETDEFIL}
TAB {TAB} HAUT {HAUT}
F1 {F1} F2 {F2}

Pour spécifier une combinaison de touches avec MAJ, CTRL ou ALT, il
est nécessaire de faire précéder le code normal de la touche d'un ou
plusieurs codes parmi les suivants :
Touche Code
MAJ +
CTRL ^
ALT %

Pour spécifier que les touches MAJ, CTRL et/ou ALT doivent être
maintenues enfoncées pendant que l'on appuie sur une autre touche :
par exemple, pour que la touche MAJ soit maintenue enfoncée en même
temps que la touche E, utilisez "+e".

Pour spécifier qu'une touche doit être répétée, il est nécessai re
d'utiliser une expression de la forme {<Touche> <Nombre>}. Remarque :
un espace doit être présent entre les paramètres <Touche> et <Nombre>.
Par exemple :
- {LEFT 42} signifie que la touche gauche doit être enfoncée 42 fois,
- {h 10} signifie qu'il faut appuyer 10 fois sur la touche h.

Pour spécifier les manipulations effectuées à l'aide de la souris, il
est nécessaire d'utiliser les codes suivants :
Manipulation Code
Clic bouton gauche de la souris {BTNGAUCHE[,x[,y]]}
Double clic bouton gauche de la souris {BTNGAUCHE2[,x[,y]]}
Bouton gauche de la souris enfoncé {BTNGAUCHE+[,x[,y]]}
Bouton gauche de la souris relâché {BTNGAUCHE-[,x[,y]]}
Clic bouton droit de la souris {BTNDROIT[,x[,y]]}
Double clic bouton droit de la souris {BTNDROIT2[,x[,y]]}
Bouton droit de la souris enfoncé {BTNDROIT+[,x[,y]]}
Bouton droit de la souris relâché {BTNDROIT-[,x[,y]]}
Clic bouton milieu de la souris {BTNMILIEU[,x[,y]]}
Double clic bouton milieu de la souris {BTNMILIEU2[,x[,y]]}
Bouton milieu de la souris enfoncé {BTNMILIEU+[,x[,y]]}
Bouton milieu de la souris relâché {BTNMILIEU-[,x[,y]]}
Déplacement souris {SOURIS[,x[,y]]}
x et y sont respectivement les abscisses et les ordonnées par rapport
à la zone client de la fenêtre destinataire. Si x ou y ne sont pas
précisés, la valeur prise en compte est 0.
Avatar
Pascal F
avait prétendu :

Voici l'aide de la finction: ENVOIETOUCHE()




Attention à la fonction EnvoieTouche(). Sous VISTA et avec certaines suites Antivirus (comme Kaspersky KIS 6), cette fonction est
considérée comme une intrusion (Invader). Avec KIS 6, il est possible de créer une règle autorisant la fonction, mais sous VISTA,
rien ne se passe et je n'ai pas trouvé de possibilité. J'ai donc remplacé mes EnvoieTouche par des SendMessage(), seulement
c'était des touches simples (Fleches, touches de fonction). Mais pour une combinaison de touches, je ne sais pas comment
procéder.

par exemple dans un menu contextuel permettant soit de choisir des dates prédéfinies (1er jour d'exercice ou dernier, 1er ou
dernier jour du mois, et ouverture d'un calendrier), pour simuler l'appui sur la touche f4 qui ouvre le calendrier je fais:
// simulation de l'appui sur la touche de fonction
SendMessage(Handle(ChampContextuel()),WM_KEYDOWN,VK_F4,Null)

et dans le champ, sur l'envenement WM_KEYDOWN, je teste la touche enfoncée. Si c'est VK_F4, j'appelle ma fenetre calendrier.
Je fais du même genre pour simuler un déplacement dans une table qui est dans une "popup" maisonafin que le champ 'contextuel
soit en saisie possible sans que la popup ne se referme.

--
Pascal

Ne garder que le prénom pour me joindre
Avatar
titou44
avait énoncé :
On 20 avr, 22:52, "titou44" wrote:
bonjour

pouvez-vous m'indiquer le code à mettre dans un bouton pour simuler la
frappe alt + touche espace + touche u

merci par avance

titou44 chez freesurf.fr



Voici l'aide de la finction: ENVOIETOUCHE()



....

merci.
mais l'aide je l'ai lue.
si je pose la question c'est qu'elle est incompréhensible. normalement
la séquence doit iconiser la fenetre. or avec ce que j'ai compris de
l'aide et toutes les essais faits, il ne se passe rien.
si tu sais me donner le code exact, je suis preneur.

titou44 chez freesurf.fr
Avatar
Olivier Priser
Salut,

pourquoi tu n'utilises pas directement les fonctions de gestions de fenêtres qui permettent de faire cela (pour fenêtres
Windev ou non) ?

A+

Oliv

"titou44" avait énoncé :

merci.
mais l'aide je l'ai lue.
si je pose la question c'est qu'elle est incompréhensible. normalement
la séquence doit iconiser la fenetre. or avec ce que j'ai compris de
l'aide et toutes les essais faits, il ne se passe rien.
si tu sais me donner le code exact, je suis preneur.

titou44 chez freesurf.fr