OVH Cloud OVH Cloud

SendKeys

3 réponses
Avatar
Kiriasse
Bonjour,
Comment faites-vous pour envoyer avec SendKeys le caractère « â » ou « Ï »
ou « ñ » (caractères avec accent circonflexe ou tréma ou tilde que l'on
obtient au clavier par la frappe de deux touches) ?
Merci d'avance
Kiriasse

3 réponses

Avatar
X
Bonsoir,

En conformité avec ta demande: "caractère « â » ou « Ï » ou « ñ »",
soit:

Sub Form_Load()
Dim r
r = Shell("notepad.exe", 1)
AppActivate r
SendKeys "ñ" & "â" & "Ï"
End Sub

Ce qui donne dans NotePad.exe:
ñâÏ
----------------------------------------





"Kiriasse" a écrit dans le message de news:
43a077e9$0$18322$
| Bonjour,
| Comment faites-vous pour envoyer avec SendKeys le caractère « â » ou « Ï »
| ou « ñ » (caractères avec accent circonflexe ou tréma ou tilde que l'on
| obtient au clavier par la frappe de deux touches) ?
| Merci d'avance
| Kiriasse
|
Avatar
Kiriasse
Merci de m'avoir répondu.
En fait, ma question était très mal posée.
J'ai une difficulté dans un programme qui fait intervenir ce que l'on
appelle un « hook clavier » (d'après une procédure qui m'avait d'ailleurs
été obligeamment transmise par l'un des participants de ce forum, il y a
plusieurs mois).
En gros, ce petit programme intercepte les touches que l'on frappe et a
l'ambition d'ajouter automatiquement une espace insécable après certains
caractères comme le guillemet français ouvrant («), ou avant, dans le cas du
guillemet français fermant (»), du point d'exclamation, du point
d'interrogation, etc.
Pour cet ajout d'espace insécable (qui utilise SendKeys), je n'ai pas eu de
problème mais la difficulté surgit quand l'utilisateur tape des caractères
comme â, ô, Ï, ü, ñ... C'est-à-dire des caractères que l'on obtient en
tapant successivement deux touches (au moins avec le clavier AZERTY
français).
Si je fais un SendKeys("â") par exemple, le résultat est assez surprenant.
J'obtiens quelque chose comme "^^a" ou "^a" et de façon qui paraît
aléatoire. Et un ou plusieurs SendKeys("{BS}") ne résoud pas le problème.
Quelqu'un aurait-il un exemple d'exploitation d'un « hook clavier » qui
pourrait m'aider à résoudre mon problème ?
Merci d'avance.
Kiriasse
Répondant à

== "X" <.> a écrit dans le message de news:
%
Bonsoir,

En conformité avec ta demande: "caractère « â » ou « Ï » ou « ñ »",
soit:

Sub Form_Load()
Dim r
r = Shell("notepad.exe", 1)
AppActivate r
SendKeys "ñ" & "â" & "Ï"
End Sub

Ce qui donne dans NotePad.exe:
ñâÏ



== > "Kiriasse" a écrit dans le message de news:
43a077e9$0$18322$
| Bonjour,
| Comment faites-vous pour envoyer avec SendKeys le caractère « â » ou «
Ï »
| ou « ñ » (caractères avec accent circonflexe ou tréma ou tilde que l'on
| obtient au clavier par la frappe de deux touches) ?
| Merci d'avance
| Kiriasse
|




Avatar
Kiriasse
Pardon : « ne résou*t* ... » (ou « ne résolvent »)...
Il me faut revoir la conjugaison du verbe « résoudre » ;-)
Enfin, je crois que l'on m'aura compris quand même...
Kiriasse
Se corrigeant lui-même...

"Kiriasse"
(...)
Si je fais un SendKeys("â") par exemple, le résultat est assez surprenant.
J'obtiens quelque chose comme "^^a" ou "^a" et de façon qui paraît
aléatoire. Et un ou plusieurs SendKeys("{BS}") ne résoud pas le problème.
(...)