OVH Cloud OVH Cloud

Capslock

1 réponse
Avatar
Nico
Bonjour,

Je souhaite envoyer une chaine de caract=E8re dans la fen=EAtre active en
utilisant la commande sendkeys.
Le probl=E8me est qu'il faut que je d=E9sactive capslock avant de lancer
la commande sendkeys si elle est active et que je le remette dans
l'=E9tat initial apr=E8s.

J'arrive =E0 changer l'=E9tat de capslock.
Mais comment d=E9tecter =E0 tous les coups si capslock est activ=E9 ou
pas?
J'essaie avec GetKeyboardState : =E7a marche que de temps en temps.
Merci de votre aide.

1 réponse

Avatar
Gloops
Bonjour,

GetKeyboardState permet de connaître l'état du clavier, pas de le
modifier. Pour le modifier, il y a SetKeyboardState.

Bien sûr, SendKeys, c'est seulement pour les cas où on n'a pas trouvé
autre chose. Donc, a priori, ce qu'on veut ce n'est pas envoyer une
chaîne de caractères à une fenêtre, mais ajouter un texte à la suite du
contenu d'un contrôle ou déclencher une action.
___________________________________
Le 30/08/2006 15:23, Nico a écrit :
Bonjour,

Je souhaite envoyer une chaine de caractère dans la fenêtre active en
utilisant la commande sendkeys.
Le problème est qu'il faut que je désactive capslock avant de lancer
la commande sendkeys si elle est active et que je le remette dans
l'état initial après.

J'arrive à changer l'état de capslock.
Mais comment détecter à tous les coups si capslock est activé ou
pas?
J'essaie avec GetKeyboardState : ça marche que de temps en temps.
Merci de votre aide.