Bonjour à tous,
J'ai fait une application qui peut être exécuté aussi bien sur tablette que sur pc portable ou de bureau.
Elle fonctionne sur Windows 10.
Le clavier virtuel étant ce qu'il est sur Windows 10 (il apparait quand il veut bien) et pas possible à ma connaissance d'orienter la saisie sur du pur numérique ou sur de l'alpha-numérique, j'y ai inclus donc un clavier virtuel (PopupVirtualKeyboard).
Mais avant de le faire apparaitre et de le gérer, il faut que je sache si un clavier physique est présent ou non.
J'ai donc regardé sur le Net et ai trouvé cela :
Malheureusement il détecte le clavier aussi bien sur le PC que sur la tablette !.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 bool KB=false; UINT nDevices,nbdev,i; PRAWINPUTDEVICELIST pRawInputDeviceList; tagRAWINPUTDEVICELIST org; GetRawInputDeviceList(NULL, &nDevices, sizeof(RAWINPUTDEVICELIST)); pRawInputDeviceList = (tagRAWINPUTDEVICELIST *) malloc(sizeof(RAWINPUTDEVICELIST) * nDevices); nbdev=GetRawInputDeviceList(pRawInputDeviceList, &nDevices, sizeof(RAWINPUTDEVICELIST)); for (i = 0; i < nbdev; i++) { org=pRawInputDeviceList[i]; if (org.dwType==RIM_TYPEKEYBOARD) { KB=true; break; } } free(pRawInputDeviceList); if (KB) { ShowMessage("Un clavier physique a été trouvé"); } return KB;
Quelqu'un aurait-il d'autres API ou fonctions adaptées à mon cas (et sans doute bien d'autres) ?
Je développe sous C++Builder XE6.
D'avance Merci.
Partager