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

cs_stiki Messages postés 4 Date d'inscription vendredi 23 décembre 2011 Statut Membre Dernière intervention 19 janvier 2012 - 23 déc. 2011 à 16:25
cs_stiki Messages postés 4 Date d'inscription vendredi 23 décembre 2011 Statut Membre Dernière intervention 19 janvier 2012 - 19 janv. 2012 à 17:42
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

cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
24 déc. 2011 à 10:30
Bonjour,

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


louis
0
cs_stiki Messages postés 4 Date d'inscription vendredi 23 décembre 2011 Statut Membre Dernière intervention 19 janvier 2012
26 déc. 2011 à 11:10
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
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
15 janv. 2012 à 20:44
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#.
0
cs_stiki Messages postés 4 Date d'inscription vendredi 23 décembre 2011 Statut Membre Dernière intervention 19 janvier 2012
19 janv. 2012 à 16:09
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!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
19 janv. 2012 à 17:11
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.
0
cs_stiki Messages postés 4 Date d'inscription vendredi 23 décembre 2011 Statut Membre Dernière intervention 19 janvier 2012
19 janv. 2012 à 17:42
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!
0
Rejoignez-nous