Detection usb et no de serie [Résolu]

Ricja 5 Messages postés mardi 13 mai 2008Date d'inscription 17 novembre 2009 Dernière intervention - 9 janv. 2009 à 17:56 - Dernière réponse : thomassc 16 Messages postés mardi 27 juillet 2010Date d'inscription 20 avril 2011 Dernière intervention
- 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!
Afficher la suite 

Votre réponse

5 réponses

Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 10 janv. 2009 à 07:25
+3
Utile
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] )
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Renfield
Ricja 5 Messages postés mardi 13 mai 2008Date d'inscription 17 novembre 2009 Dernière intervention - 12 janv. 2009 à 09:56
0
Utile
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!
Commenter la réponse de Ricja
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 12 janv. 2009 à 10:03
0
Utile
WMI est ton ami
Commenter la réponse de Renfield
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 12 janv. 2009 à 10:16
0
Utile
voir aussi peut etre:
http://msdn.microsoft.com/en-us/library/ms804547.aspx

IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBE
Commenter la réponse de Renfield
thomassc 16 Messages postés mardi 27 juillet 2010Date d'inscription 20 avril 2011 Dernière intervention - 21 avril 2011 à 12:09
0
Utile
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 ?
Commenter la réponse de thomassc

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.