Detection usb et no de serie

Résolu
Ricja Messages postés 5 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 17 novembre 2009 - 9 janv. 2009 à 17:56
thomassc Messages postés 16 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 20 avril 2011 - 21 avril 2011 à 12:09
Bonjour à tous!
Et avant toute chose, bravo pour ce site et ce forum que je parcours très souvent et qui m'a deja été d'une grande aide!
 

Je vous expose mon probleme.
Je dois créer pour mon réseau au boulot, un code qui tournerait sous forme de service window.
Celui ci me permetrait de detecter la connexion d'un peripherique USB Mass Storage et d'en récuperer son no de série.

No de série que je compare à une base de donnée afin d'autoriser (ou non) son utilisation + log dans l'eventlog win (ca c'est OK)

Mon premier code me permettait de faire ca via un autre logiciel (usbdevview) mais je prefererais ne plus utiliser ce logiciel.

J'ai donc creer plusieurs petits morceaux de code qui "fonctionnent" tant bien que mal... (en fait, surtout mal...)
J'ai découvert que c'etait possible, via du WMI inseré dans du vb.net, d'implémenter un listener sur un evenement Win.

Cette partie fonctionne tres bien mais je ne sais pas comment recuperer le type de peripherique inséré ainsi que le no de serie lorsque c'est une clé USB.

Auriez vous d'autres idées plus interressantes pour me guider?
L'utilisation de WMI pour ce genre d'appli est elle la bonne solution?...

Merci d'avance!

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
10 janv. 2009 à 07:25
oui, WMI est activé sur la plupart des postes, donc Ok.

voir API GetDriveType (y'a surement un equivalent intégré au Framework)

testons:
j'ouvre Visual Studio
je presse F2
intuitivement, je cherche 'Removable'

je tombe là dessus:

Public Const Removable As System.IO.DriveType = 2
Membre de System.IO.DriveType

Résumé :
Le lecteur est un périphérique de stockage amovible, tel qu'un lecteur de disquette ou un lecteur flash USB.


Ca à l'air de coller.
cherchons qui renvoie des System.IO.DriveType

je tombe maintenant sur :

Public ReadOnly Property DriveType() As System.IO.DriveType
Membre de System.IO.DriveInfo

Résumé :
Obtient le type de lecteur.

Valeurs de retour :
Une des valeurs System.IO.DriveType.

Exceptions :
System.IO.IOException: Une erreur d'E/S s'est produite.


en continuant le jeu, je trouve:

Public Shared Function GetDriveInfo(ByVal drive As String) As System.IO.DriveInfo
Membre de Microsoft.VisualBasic.FileIO.FileSystem

Résumé :
Retourne un objet System.IO.DriveInfo pour le fichier spécifié.

Paramètres :
drive: String. Lecteur à examiner. Obligatoire.

Valeurs de retour :
System.IO.DriveInfo



ca ira, pour récupérer le type de lecteur ? ^^ (prend comme reflex de fouiner dans ton explorateur d'objets [F2] )
3
Ricja Messages postés 5 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 17 novembre 2009
12 janv. 2009 à 09:56
Un grand merci pour cette aide!...
Effectivement, je n'ai pas eu le bon reflexe.... F2!

Cependant, si tout ca m'a deja beaucoup aidé, aucune propriété ne me renvoie le no de série de la clé insérée... j'ai deja bien cherché, je ne vois pas comment obtenir cette info...

FSO n'est pas implémenté en vb.net... Comment puis je faire pour ca?...

(et désolé de déranger avec mes questions de gros débutant...)

merci d'avance!
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
12 janv. 2009 à 10:03
WMI est ton ami
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
12 janv. 2009 à 10:16
voir aussi peut etre:
http://msdn.microsoft.com/en-us/library/ms804547.aspx

IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBE
0

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

Posez votre question
thomassc Messages postés 16 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 20 avril 2011
21 avril 2011 à 12:09
Bonjour,

Tout d'abord bravo pour ce forum hyper complet et utile.

Ricja ton idée m'intéresse beaucoup. Serait-il possible de récupérer le squelette de la partie du code sur la détection usb par le réseau, s'il e plaît ?
0
Rejoignez-nous