OVH Cloud OVH Cloud

envoi de caractère unicode

4 réponses
Avatar
Nicolas Marechal
bonjour,

je vais bientot partir en allemagne et je souhaiterais coder un programme
qui simule la touche ß des claviers allemand, du genre quand j'appuie sur
"ALT GR + B". Mon problème est lors de l'envoi de séquence de touvhes : dans
la table des caractères de win, il est indiqué qu'il faut presser "ALT +
0223". Donc mon idée a été de simuler l'appui de cette séquence à l'aide de
la fonction keybd_event() associé aux paramètres VK_LMENU et VK_NUMPAD0
VK_NUMPAD2 VK_NUMPAD3, mais apparament le système ne réagit pas : 4 jolis
bip. lorsque je zappe l'envoi de la touche alt, j'ai bien 0223 qui s'affiche
sur mon notepad... si je fais la manip à la main bien sur çà marche ... (
loi de murphy ??? snif, chagrin ...)

y a t il une raison apparente à ce problème ?

le fait que je sois sur un clavier d'ordinateur portable influe t il contre
moi lors de l'envoi de cette séquence ?

est-ce que quelqu'un à une solution à mon problème ? (autre qu'acheter un
clavier allemand looool). j'ai vu une methode sur msdn mais j'y comprend
rien et arrive pas à m'en dépatouiller.

merci beaucoup pour votre aide

Nicolas

4 réponses

Avatar
AG
Nicolas Marechal wrote:

bonjour,

je vais bientot partir en allemagne et je souhaiterais coder un programme
qui simule la touche ß des claviers allemand, du genre quand j'appuie sur
"ALT GR + B". Mon problème est lors de l'envoi de séquence de touvhes : dans
la table des caractères de win, il est indiqué qu'il faut presser "ALT +
0223". Donc mon idée a été de simuler l'appui de cette séquence à l'aide de
la fonction keybd_event() associé aux paramètres VK_LMENU et VK_NUMPAD0
VK_NUMPAD2 VK_NUMPAD3, mais apparament le système ne réagit pas : 4 jolis
bip. lorsque je zappe l'envoi de la touche alt, j'ai bien 0223 qui s'affiche
sur mon notepad... si je fais la manip à la main bien sur çà marche ... (
loi de murphy ??? snif, chagrin ...)

y a t il une raison apparente à ce problème ?

le fait que je sois sur un clavier d'ordinateur portable influe t il contre
moi lors de l'envoi de cette séquence ?

est-ce que quelqu'un à une solution à mon problème ? (autre qu'acheter un
clavier allemand looool). j'ai vu une methode sur msdn mais j'y comprend
rien et arrive pas à m'en dépatouiller.

merci beaucoup pour votre aide

Nicolas




De même que l'on peut charger le clavier anglais ou canadien, tu dois
pouvoir charger le clavier allemand : Panneau de configuration, options
régionales et linguistiques. Dés lors que plus d'un clavier sont
chargés, une icone apparait dans la barre des taches en bas à droite de
l'écran, qui permet de switcher d'un clavier à l'autre rapidement. Je ne
pense pas qu'il soit nécessaire de programmer pour cela.

Alexandre.
Avatar
Sylvain Collange
AG a écrit :
je vais bientot partir en allemagne et je souhaiterais coder un
programme qui simule la touche ß des claviers allemand, du genre
quand j'appuie sur "ALT GR + B".
[...]



Nicolas Marechal wrote:
De même que l'on peut charger le clavier anglais ou canadien, tu dois
pouvoir charger le clavier allemand



Ou encore mieux, définir soi-même son propre clavier :
http://www.microsoft.com/globaldev/tools/msklc.mspx
(tous les claviers sont les mêmes, à quelques touches prés ; c'est juste
la config logicielle qui change suivant la langue)

--
Sylvain Collange
Avatar
Nicolas Marechal
charger un clavier allemand reviens à me changer tout le clavier, ce qui ne
me sera pas pratiquable car de azerty je passe en qwertz (non pas querty)
...

mais de toute façon ce n'est pas la question ...

"AG" a écrit dans le message de
news:40d06d98$0$283$
Nicolas Marechal wrote:

> bonjour,
>
> je vais bientot partir en allemagne et je souhaiterais coder un


programme
> qui simule la touche ß des claviers allemand, du genre quand j'appuie


sur
> "ALT GR + B". Mon problème est lors de l'envoi de séquence de touvhes :


dans
> la table des caractères de win, il est indiqué qu'il faut presser "ALT +
> 0223". Donc mon idée a été de simuler l'appui de cette séquence à l'aide


de
> la fonction keybd_event() associé aux paramètres VK_LMENU et VK_NUMPAD0
> VK_NUMPAD2 VK_NUMPAD3, mais apparament le système ne réagit pas : 4


jolis
> bip. lorsque je zappe l'envoi de la touche alt, j'ai bien 0223 qui


s'affiche
> sur mon notepad... si je fais la manip à la main bien sur çà marche ...


(
> loi de murphy ??? snif, chagrin ...)
>
> y a t il une raison apparente à ce problème ?
>
> le fait que je sois sur un clavier d'ordinateur portable influe t il


contre
> moi lors de l'envoi de cette séquence ?
>
> est-ce que quelqu'un à une solution à mon problème ? (autre qu'acheter


un
> clavier allemand looool). j'ai vu une methode sur msdn mais j'y comprend
> rien et arrive pas à m'en dépatouiller.
>
> merci beaucoup pour votre aide
>
> Nicolas
>
>
De même que l'on peut charger le clavier anglais ou canadien, tu dois
pouvoir charger le clavier allemand : Panneau de configuration, options
régionales et linguistiques. Dés lors que plus d'un clavier sont
chargés, une icone apparait dans la barre des taches en bas à droite de
l'écran, qui permet de switcher d'un clavier à l'autre rapidement. Je ne
pense pas qu'il soit nécessaire de programmer pour cela.

Alexandre.


Avatar
Dominique Stéphan
Nicolas Marechal a écrit:

bonjour,

je vais bientot partir en allemagne et je souhaiterais coder un programme
qui simule la touche ß des claviers allemand, du genre quand j'appuie sur
"ALT GR + B". Mon problème est lors de l'envoi de séquence de touvhes : dans
la table des caractères de win, il est indiqué qu'il faut presser "ALT +
0223". Donc mon idée a été de simuler l'appui de cette séquence à l'aide de
la fonction keybd_event() associé aux paramètres VK_LMENU et VK_NUMPAD0
VK_NUMPAD2 VK_NUMPAD3, mais apparament le système ne réagit pas : 4 jolis
bip. lorsque je zappe l'envoi de la touche alt, j'ai bien 0223 qui s'affiche
sur mon notepad... si je fais la manip à la main bien sur çà marche ... (
loi de murphy ??? snif, chagrin ...)



Bonsoir,

Pourquoi VK_LMENU ?

D'après mon code (qui est un peu plus compliqué), ça devrait marcher :

keybd_event(VK_MENU, 0, 0, 0);
keybd_event(VK_NUMPAD0, MapVirtualKey(VK_NUMPAD0, 0), 0, 0);
keybd_event(VK_NUMPAD0, MapVirtualKey(VK_NUMPAD0, 0), KEYEVENTF_KEYUP, 0);
keybd_event(VK_NUMPAD2, MapVirtualKey(VK_NUMPAD2, 0), 0, 0);
keybd_event(VK_NUMPAD2, MapVirtualKey(VK_NUMPAD2, 0), KEYEVENTF_KEYUP, 0);
keybd_event(VK_NUMPAD2, MapVirtualKey(VK_NUMPAD2, 0), 0, 0);
keybd_event(VK_NUMPAD2, MapVirtualKey(VK_NUMPAD2, 0), KEYEVENTF_KEYUP, 0);
keybd_event(VK_NUMPAD3, MapVirtualKey(VK_NUMPAD3, 0), 0, 0);
keybd_event(VK_NUMPAD3, MapVirtualKey(VK_NUMPAD3, 0), KEYEVENTF_KEYUP, 0);
keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);

--
Cordialement
Dominique Stéphan
http://www.timbre-poste.com/ Timbres-poste d'usage courant
http://amisdemarianne.free.fr/ Cercle des Amis de Marianne