|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 5 ![]() |
Bonjour à toutes et tous,
Je recherche une personne pouvant m'aider à développer quelques lignes de code en Windev 17 pour la gestion de plusieurs claviers numériques (padle). Je souhaite réaliser une application pour coter des photos à partir d'un programme Windev, càd utiliser 3 padles externes supplémentaires au clavier (qui lui gère le programme) et les padles uniquement la saisie des points de 0 à 9. Le programme étant chargé de récolter ces différents points et d'en faire la somme sous forme d'une variable que je récolterai dans mon programme pour l'affichage. Merci d'avance de votre réponse |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Claude Développeur informatique Inscription : juin 2003 Messages : 1 806 ![]() |
Si tes padles sont reconnus comme claviers, windev ne pourra pas les différencier. A mon avis (à confirmer par d'autres), il faudra passer par des API système pour trouver l'origine de la saisie.
__________________
Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...Pas de question par MP s'il vous plait. Le forum est fait pour cela... Make it real not fantasy |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 5 ![]() |
Bonjour frenchsting,
En effet par Windev je ne suis pas arrivé. Je crois aussi qu'il faut passer par des API, mais je ne m'y connais pas du tout. |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Développeur informatique Inscription : mars 2009 Messages : 92 ![]() |
Bonjour,
Vous n'aurez guère plus de chance via les API : Différencier 2 claviers différents Peut être en utilisant des périphériques qui ne sont pas détectés comme des claviers. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 5 ![]() |
Bonjour themayu,
Merci pour ce lien, mais je suis certain contrairement à ce que dit l'article qu'il y a moyen de différencier les claviers. J'ai une application faite en "Borland/Embarcadero Builder" qui fait exactement ce que j'ai besoin. Le problème c'est que je dois utiliser 2 applications pour obtenir mes résultats. |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Développeur informatique Inscription : mars 2009 Messages : 92 ![]() |
J'ai peut être effectivement répondu trop vite, on doit pouvoir passer par les fonctions raw input de windows, un exemple documenté en C#.
Plus qu'à le traduire en windev ! |
|
|
20
|
|
|
#7 |
|
Membre expérimenté
![]() Inscription : septembre 2010 Messages : 208 ![]() |
Bonjour à tous,
[EDIT] themayu a répondu plus vite [/EDIT]Sous Windows, les périphériques HID (Human Interface Device) peuvent être manipulés par une application via les fonctions de l'API Raw Input. http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx A mon avis, ce n'est pas à la portée d'un "nouveau né". ![]() Il y a un projet C# qui peut servir d'exemple: Using Raw Input from C# to handle multiple keyboards http://www.codeproject.com/Articles/...tiple-keyboard Si on veut éviter .NET, on peut aussi regarder cet exemple en C qui permet de récupérer les inputs de Joystick. Using the Raw Input API to Process Joystick Input http://www.codeproject.com/Articles/...Joystick-Input Pour gagner du temps, on peut utiliser une application pour gérer des macros, comme par exemple le freeware HID Macros: http://www.hidmacros.eu/whatisit.php @hoves Je pense que tu utilises ce genre de programme (peux-tu nous donner son nom) Et pourquoi n'est-ce pas adapté ? (pour information) A minima, Windows est prévu pour reconnaître les types de HID suivants: • Pointer • Mouse • Joystick • Game pad • Keyboard • Keypad • Consumer audio control Un lecteur de code barres USB est probablement géré comme un HID. |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 5 ![]() |
Merci themayu et OnePoint pour vos exemples,
Mais c'est bien là que je bloque La programmation en Windev ça va mais le reste Le programme que j'utilise actuellement est celui de la firme rmf products => rfmproducts.com Il fonctionne bien, mais il est en anglais et il faut que j'utilise un autre programme pour faire défiler les photos à juger d'où un second PC. Je souhaiterais faire cette tâche uniquement en Windev, càd récupérer les chiffres des padles et gérer tout le reste avec mon application. |
|
|
00
|
|
|
#9 | |
|
Membre expérimenté
![]() Inscription : septembre 2010 Messages : 208 ![]() |
Citation:
Si tu n'as pas beaucoup de temps devant toi, alors regarde de plus près le freeware HID Macros dont je t'ai parlé. Cet outil est de plus bas niveau que l'application que tu utilises. A l'origine il était conçu pour interfacer des HID avec un simulateur de vol. Il permet d'exécuter des actions prédéfinies quand certaines touches sont enfoncés. Même s'il est assez limité, il peut exécuter un programme externe, ou exécuter un script VBS. Son avantage principal est son interface utilisateur qui simplifie la reconnaissance des différents HID et l'association entre un événement et une macro. Dans le tutoriel dont je te donne le lien, l'auteur propose une solution simple et rapide à mettre en oeuvre: utiliser HID Macros avec un autre utilitaire (le fameux) NirCmd. [Tutorial] Individual hotkeys with multiple keyboards http://deskthority.net/workshop-f7/i...oards-t11.html On peut reprocher à cette solution de ne pas être codée (c'est surtout du paramétrage et de la configuration), mais elle semble opérationnelle et facile à réaliser, même par des néophytes. Le lien pour NirCmd (outil en ligne de commande): http://www.nirsoft.net/utils/nircmd.html NirCmd est un formidable "couteau suisse". La liste des fonctions: http://www.nirsoft.net/utils/nircmd2.html#using Alors comment communiquer à ton application Windev, un n° de keypad et un chiffre ? Avec NirCmd, tu peux très facilement envoyer un message windows à la fenêtre principale de ton application qui affiche les photos. Exemple pour envoyer à la calculatrice Windows le message de fermeture de la fenêtre: nircmd.exe win sendmsg title "calculator" 0x10 0 0 Pour revenir à ton pb... Tu choisis et tu utilises un n° de message spécifique à ton application (c'est un nombre, supérieur à 2324, car en dessous ce sont des codes de message déjà utilisés par Windows et Windev) Les 2 autres arguments peuvent désigner le n° de keypad et le chiffre de la touche enfoncée. Au niveau de ton application Windev, tu n'as plus qu'à surveiller l'arrivée des messages windows avec ton n° de message spécifique. Pour ça, il faut utiliser la fonction Evénement et récupérer le n° de keypad et la valeur. http://doc.pcsoft.fr/fr-FR/?3015011&...9v%C3%A9nement Voilà c'est une piste possible, probablement la plus facile. |
|
|
|
10
|
|
|
#10 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 5 ![]() |
Un grand merci OnePoint je vais décortiquer tout cela et voir si j'arrive à une solution
Bonne journée
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com