Bonsoir à tous, Ayant perdu le source que j'avais réalisé il y a plusieurs années, je tente de recréer du code permettant de récupérer des data (touches clavier) envoyés soit par un clavier soit par un lecteur codebarre, afin de diriger ces données sur une fenêtre ou une autre. Il existe un exemple en C++ : Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! Le lien en relation chez 'Crosoft : Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! Mais je reconnais volontiers que je coince sur le sujet. Si l'on arrive à le traduire en WD, ce sera utile pour tout le monde qui est dans une configuration similaire. Je poste la partie de code que j'ai déjà réalisé. Merci à ceux qui souhaitent aider à la compléter. Je précise que lors de l'éxécution, je reçois un erreur "0" alors qu'étant un booléen, je devrais en théorie recevoir 1. Par contre, pas de détails récupérés par l'API avec GetLastError. Le code que j'ai commencé : nRIDEV_REMOVE est un entier sans signe sur 4 octets = 0x00000001 nRIDEV_EXCLUDE est un entier sans signe sur 4 octets = 0x00000010 nRIDEV_PAGEONLY est un entier sans signe sur 4 octets = 0x00000020 nRIDEV_NOLEGACY est un entier sans signe sur 4 octets = 0x00000030 nRIDEV_INPUTSINK est un entier sans signe sur 4 octets = 0x00000100 nRIDEV_CAPTUREMOUSE est un entier sans signe sur 4 octets = 0x00000200 nRIDEV_NOHOTKEYS est un entier sans signe sur 4 octets = 0x00000200 nRIDEV_APPKEYS est un entier sans signe sur 4 octets = 0x00000400 nRIDEV_EXINPUTSINK est un entier sans signe sur 4 octets = 0x00001000 nRIDEV_DEVNOTIFY est un entier sans signe sur 4 octets = 0x00002000 RawInputDevice est une structure UsagePage est un entier sans signe sur 2 octets Usage est un entier sans signe sur 2 octets Flag est un entier sans signe sur 4 octets Target est un entier système // A handle to the target window. If NULL it follows the keyboard focus. FIN stHIDDevice est un RawInputDevice stHIDDevice.UsagePage = 1 stHIDDevice.Usage = 6 stHIDDevice.Flag = nRIDEV_INPUTSINK // 0 provoque l'erreur stHIDDevice.Target = Handle(SAI_Texte) nCbSize est un entier sans signe = Taille(stHIDDevice.UsagePage) + Taille(stHIDDevice.Usage) + Taille(stHIDDevice.Flag) + Taille(stHIDDevice.Target) SI API("USER32","RegisterRawInputDevices",&stHIDDevice,1,nCbSize) <> 1 ALORS Erreur("Api:"+API("KERNEL32","GetLastError")) FIN
Salut à tous, j'ai corrigé une erreur sur la ligne : nCbSize est un entier sans signe = Taille(stHIDDevice.UsagePage) + Taille(stHIDDevice.Usage) + Taille(stHIDDevice.Flag) + Taille(stHIDDevice.Target) qui pour ne pas créer une erreur (même en utilisant 0 pour le .Flag) doit devenir : nCbSize est un entier sans signe = Dimension(stHIDDevice) Voilà. Je continue à explorer des possibilités, voir si j'arrive à obtenir ce que je veux.
Bonjour tout le monde ! J'ai remis le nez dedans, mais ça ne joue pas comme je le souhaite. Je recherche donc un passionné des API 'Crosoft, qui puisse reprendre / continuer ce que j'ai déjà fait. L'idée étant de pouvoir différencier les claviers / scanner qui sont utilisés (HID) et pouvoir envoyer les touches utilisées dans la bonne fenêtre / saisie de texte. Le projet est en version 26, mais je peux le passer en version 23 à 29. Je fournis les liens qui m'ont servi de base. La solution est rémunérée. Merci de me contacter par mp avec la version de WD que vous utilisez, et le montant désiré (voir si cela rentre dans mon budget). Cordialement, SavageBeast.