Zoams Lundi et l'autre ? | Bonjour,
Je suis en train de réaliser un clavier virtuel. Il marche parfaitement avec les touches "classiques" AZERTY grâce à la fonction keybd_event() , mais j'aimerais maintenant créer des touches "caractères spéciaux" comme '¿' (ALT+168) ou 'ß' (ALT+225).
Donc je voulais simuler une combinaison de touches = {ALT + 2 + 2 + 5 + /ALT}. Malheureusement je n'y arrive pas ! Ce qui est bizar c'est que j'arrive à simuler {ALT + TAB + /TAB + /ALT} grâce à la fonction SendInput() mais pas ALT + combinaison de chiffres...
Est-ce que quelqu'un a une idée ?
Merci beaucoup
Je joins les codes que j'ai essayé... si quelqu'un voit ce qui cloche
Code :
- #include <windows.h>
- #include <WinAble.h>
- int main(int argc, char * argv[]) {
- // Mise d'Open Office au premier plan
- HWND hMPlayer = FindWindow("SALFRAME",NULL);
- SetForegroundWindow(hMPlayer);
- Sleep(100);
- // simulation 'ß' Première version
- keybd_event( VK_MENU, 0, KEYEVENTF_EXTENDEDKEY, 0); // Appuis ALT
- keybd_event( 98, 0, 0, 0); // Appuis '2'
- keybd_event( 98, 0, KEYEVENTF_KEYUP, 0); // Relachement '2'
- keybd_event( 98, 0, 0, 0); // Appuis '2'
- keybd_event( 98, 0, KEYEVENTF_KEYUP, 0); // Relachement '2'
- keybd_event( 101, 0, 0, 0); // Appuis '5'
- keybd_event( 101, 0, KEYEVENTF_KEYUP, 0); // Relachement '5'
- keybd_event( VK_MENU, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0); // Relachement ALT
- // simulation 'ß' Deuxième version
- INPUT input[8];
- input[0].type = input[7].type = INPUT_KEYBOARD;
- input[0].ki.wVk = input[7].ki.wVk = VK_MENU; // 0 - Appui ALT
- input[7].ki.dwFlags = KEYEVENTF_KEYUP; // 7 - Relachement ALT
- input[1].type = input[2].type = INPUT_KEYBOARD;
- input[1].ki.wVk = input[2].ki.wVk = 98; // 1 - Appui '2'
- input[2].ki.dwFlags = KEYEVENTF_KEYUP; // 2 - Relachement '2'
- input[3].type = input[4].type = INPUT_KEYBOARD;
- input[3].ki.wVk = input[4].ki.wVk = 98; // 3 - Appui '2'
- input[4].ki.dwFlags = KEYEVENTF_KEYUP; // 4 - Relachement '2'
- input[5].type = input[6].type = INPUT_KEYBOARD;
- input[5].ki.wVk = input[6].ki.wVk = 101; // 5 - Appui '5'
- input[6].ki.dwFlags = KEYEVENTF_KEYUP; // 6 - Relachement '5'
- ::SendInput(8, input, sizeof(INPUT));
- return 0;
- }
|
---------------
Thoams ;-)
|