Comment accéder aux informations dans le Gestionnaire de périphériques Windows à partir de Java?


J'ai un périphérique série vers USB et plusieurs d'entre eux peuvent être connectés à l'ordinateur. J'ai besoin d'interroger et de récupérer une liste de ports COM auxquels les périphériques sont connectés. Dans le Gestionnaire de périphériques Windows, vous pouvez obtenir le port COM + le nom convivial des périphériques connectés à l'heure actuelle. Cette liste est dynamique.

Lecture du registre n'a pas fonctionné parce que les informations stockées sont périmées et statiques, pas dynamiques.

Devcon (à partir de Microsoft) liste les ports auxquels les périphériques sont connectés, mais il ne peut pas être utilisé dans mon application car il n'est pas redistribuable.

Des idées ou de préférence, une solution?

Author: Community, 2013-03-13

4 answers

J'ai dû résoudre un problème similaire il y a quelques semaines à peine. Je suis venu à travers le Jawin-Projet cela a fourni tout ce dont vous avez besoin pour utiliser les requêtes WMI. Il est déjà assez vieux mais fonctionne comme un charme si vous suivez la documentation. Une belle procédure pas à pas allemande peut être trouvée codegods blog.

Pour moi, cela n'a pas résolu tous les problèmes (j'avais des choses très spécifiques à découvrir sur le périphérique cible), j'ai finalement créé un propre JNI (Natif de Java Interface) Classe et DLL en C incorporant l'API Windows.

J'espère que c'est ce que vous avez recherché.

 3
Author: zero0, 2013-03-19 06:26:04

Avez-vous essayé ce jUSB API ou Cet exemple ?

J'espère que cela va vous aider.

 1
Author: Patriks, 2017-05-23 12:06:53

Utiliser JNA (https://github.com/twall/jna) et jetez un oeil à la page suivante. Cela pourrait être un point utile pour commencer.

Http://www.digitalinferno.com/wiki/Wiki.jsp?page=JNAPrintDevices

 1
Author: stefan222, 2014-08-19 10:26:16

Je regarde Java Native Access car il fournit un accès à l'API Windows à partir de code Java pur - pas de JNI à gérer. J'étais préoccupé par la licence LGPL; si elle peut être incluse dans un produit commercial, mais d'après ce que disent quelques messages dans le groupe de discussion, cela peut être. Après j'ai essayer dans les prochaines semaines, je vais le poster ici.

 0
Author: likejiujitsu, 2013-03-21 14:47:41