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 :
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;
Malheureusement il détecte le clavier aussi bien sur le PC que sur la tablette !.
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.