Détection et affichage des ports USB et devices USB en C

Signaler
Messages postés
4
Date d'inscription
vendredi 23 décembre 2011
Statut
Membre
Dernière intervention
19 janvier 2012
-
Messages postés
4
Date d'inscription
vendredi 23 décembre 2011
Statut
Membre
Dernière intervention
19 janvier 2012
-
Bonjour à tous,

Je suis novice en C et je me retrouve bloqué sur la fonction d'affichage et détection des USB sur le PC.

Le but de ma fonction est de pouvoir afficher tous les ports USB de la machine en indiquant lesquels de ces ports ont un appareil branché (clé USB, HDD ou autre..). Une fois un device choisi on lance le reste du programme.

Pour ma fonction j'ai essayé d'utiliser libusb.h (ah oui j'ai oublié de dire que je dois obligatoirement la développer sous windows :@ alors que je n'ai appris à programmer que sous linux :( et là il y a toutes les fonction de l'API win32 qui me sont étrangères :s!!). Pour la libusb je suis aller sur sourceforge et j'ai essayé de m'aider de leur exemple mais ça ne permet de détecter qu'un device dont on connait les différents ID..

Je crois que j'ai tout dit mais si vous avez une question qui vous permettrait de mieux cerner le problème n'hésitez pas!!

Je suis ouvert à toute idée ou proposition.

En vous remerciant par avance de votre aide!!

6 réponses

Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
8
Bonjour,

Je pense que ce lien va t'aider :
http://www.codeproject.com/KB/system/AUSBClassLibrary.asp


louis
Messages postés
4
Date d'inscription
vendredi 23 décembre 2011
Statut
Membre
Dernière intervention
19 janvier 2012

Bonjour,

@louis: Merci pour ta réponse mais il s'agit d'un exemple en C# alors qu'il faut obligatoirement que je le fasse en C :s..

Stiki
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
15
Salut,

Le code est en C# mais ne fait en fait qu'utiliser PInvoke pour appeler des fonctions "C" de windows.
Il appelle par exemple SetupDiDestroyDeviceInfoList de setupapi, RegisterDeviceNotification de user32...

Toutes ces fonctions documentées sur la msdn et sont plus facilement accessible en C qu'en C#.
Messages postés
4
Date d'inscription
vendredi 23 décembre 2011
Statut
Membre
Dernière intervention
19 janvier 2012

Bonjour,

@rt15: je vois ce que tu veux dire! Tu penses que je peux récupérer les fonctions directement et les utiliser? (après avoir pris le soin de vérifier les lib correspondantes bien sûr!!).. Si oui comment je peux m'y prendre? (je dois obligatoirement utiliser visual studio et j'ai déjà installé la msdn de windows)

Merci d'avance pour ton aide!!
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
15
Ce que je voulais dire c'est que tu peux regarder dans le sources les fonctions de windows utiliées. Car tu peux utiliser les mêmes sans problèmes depuis le C.

Mais plutôt que traduire le C#, tu peux utiliser google sur ces fonctions pour trouver des sources C qui les utilisent aussi.
Exemple.
Messages postés
4
Date d'inscription
vendredi 23 décembre 2011
Statut
Membre
Dernière intervention
19 janvier 2012

Je comprends mieux! Je vais voir de mon côté ce que ça peut donner et surtout si j'y arrive (yn)!

En tout cas je te remercie pour ton aide et je ne manquerai pas de te tenir au courant sur ce même post!