2009-01-16 10 views

Répondre

28

Essayez ceci:

// add a reference to the System.Management assembly and 
// import the System.Management namespace at the top in your "using" statement. 
// Then in a method, or on a button click: 

ManagementObjectSearcher theSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive WHERE InterfaceType='USB'"); 
foreach (ManagementObject currentObject in theSearcher.Get()) 
{ 
    ManagementObject theSerialNumberObjectQuery = new ManagementObject("Win32_PhysicalMedia.Tag='" + currentObject["DeviceID"] + "'"); 
    MessageBox.Show(theSerialNumberObjectQuery["SerialNumber"].ToString()); 
} 

Source: http://social.msdn.microsoft.com/forums/en-US/Vsexpressvcs/thread/f4447ed3-7e5f-4635-a28a-afff0b620156/

+0

excellent travail que je suis numéro de série comment puis-je par exemple id de l'usb. – KVK

9

Une solution utilisant Win32 is described here

Edit: le lien d'origine semble avoir disparu. Ce qui précède est une copie en cache, et l'auteur a également écrit un exemple de code dans VB.Net qui est still online here.

+0

Merci, j'ai toujours cherché quelque chose comme ça! –

6

J'ai eu des problèmes avec la solution proposée par Yuval Adam comme chaque clé USB J'ai essayé en blanc de retour sur Windows 7.

Je résolu ce problème en regardant juste au PNPDeviceId de propriété sur l'objet en cours.

E.g.

currentObject["PNPDeviceID"].ToString(); 

Je ne sais pas comment cela est valide, mais cela a fonctionné pour moi sur les 3 clés USB I essayé

+0

A travaillé pour moi aussi .... merci frère ..... –

Questions connexes