Bonjour,

Je cherche à differencier 2 lecteurs de code barres sur une meme appli, j'mexplique :

Je doire faire une appli utilisant 2 lecteur de code-barres USB, sachant que la lecture du premier doit être traité d'une facon et celle de l'autre lecteur d'une autre façon.

Quelqu'un aurait il une piste ?

Pour l'instant, pour intercepter la saisie du lecteur, je me base sur la vitesse de saisie avec ce code :

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
BOOL DlScanner::PreTranslateMessage(MSG* pMsg)
{
   if ( pMsg->message == WM_KEYDOWN ) // evenement = pression d'une touche
   {
		// Ecart maximal de 1 seconde entre chaque touche sinon on vide le buffer
		CTime tNow = CTime::GetCurrentTime();
		if ( (tNow - p_tLastInput) > 1 ){
			p_KeyInput.reset();
			p_tLastInput = tNow;
		}
 
	   if ( (pMsg->wParam >= 0x30) &&  (pMsg->wParam <= 0x39 )) // chiffre [0] [1] ... [9]
       {
		   // conversion du nombre en nombre :) ex : 0x34 -> 4
		   p_KeyInput.set((int)(pMsg->wParam - 0x30)); 
		   return TRUE; // fin de l'analyse du message
	   }
	   else if (pMsg->wParam == VK_RETURN)	// touche [ ENTER ]
	   {
		   if (p_KeyInput.isValid())
		   {			   
			   AnalyseCodeBarre(p_KeyInput.getCodeBarre());
		   }
 
		   // réinitialisation de la saisie
		   p_KeyInput.reset();
 
		   return TRUE; // fin de l'analyse du message
	   }
	   else if (pMsg->wParam != VK_SHIFT) // [ SHIFT ] necessaire pour les chiffres via la douchette
	   {
		   // toute autre touche réinitialise la saisie
		   p_KeyInput.reset();
	   }
	}
    return CDigiDialog::PreTranslateMessage(pMsg); // retransmission du message si non traité
}