Bonjour,
Quelle classe/méthode doit-on utiliser pour récupérer le numéro de série d'un disque dur ou d'une carte réseau (adresse MAC) ?
(sachant que je ne souhaite pas utiliser de code tierce partie)
D'avance merci
Version imprimable
Bonjour,
Quelle classe/méthode doit-on utiliser pour récupérer le numéro de série d'un disque dur ou d'une carte réseau (adresse MAC) ?
(sachant que je ne souhaite pas utiliser de code tierce partie)
D'avance merci
Je n'ai pas compris ce que tu voulais dire donc je ne sais pas si ma reponse te serviraCitation:
Envoyé par Harry_polin
Peux-tu trouver un equivalent de l'API "GetVolumeInformation"
Oui, je voudrais trouver ce numéro
(un des paramètres de GetVolumeInformation())Citation:
lpVolumeSerialNumber
[out] A pointer to a variable that receives the volume serial number.
Mais en utilisant uniquement du code managé si possible.
Le mieux serait pour moi de récupérer l'adresse physique (ou adresse MAC) de la carte réseau.
oui, j'ai bien vu GetVolumeInformation, mais c'est du C, je voulais savoir quelle était la classe/méthode équivalente en .Net pur.
Tu peux utiliser les WMI sinon, en tout cas pour l'adresse MAC c'est certain. Dans la classe Win32_NetworkAdapterConfiguration tu as une propriété MACAddress.
Pour le numéro de série du disque dur ca doit être possible aussi je suppose.
ok merci, je vais regarder de ce côté.
J'ai trouvé un bout de code hier pour récupérer l'adresse MAC :
Bon je l'ai remis un peu à ma sauce mais c’est Simple et RapideCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Public Function GetMACAddress() As String Dim mc As New System.Management.ManagementClass ("Win32_NetworkAdapterConfiguration") Dim moc As Management.ManagementObjectCollection = mc.GetInstances Dim MACAddress As String = String.Empty For Each mo As Management.ManagementObject In moc If CBool(mo("IPEnabled")) Then MACAddress = mo("MacAddress").ToString mo.Dispose() Exit For End If mo.Dispose() Next Return MACAddress End Function
Merci beaucoup à tous les deux, mais petite question l'espace de nommage System.Management, c'est une fonctionnalité du framework 2.0 ?
Parcequ'il se trouve que je ne l'ai pas (avec visual 2003)
Sur msdn ils disent que si on a winXP ou win2000 on l'a par défaut et que ce n'est pas nécessaire d'installer le SDK de WMI...
8O heu j'ai la framework 1.0 avec VS2002 et j'ai la dll System.ManagementCitation:
Envoyé par Harry_polin
il faut que tu l'ajoutes à tes références :wink:
Arf, j'ai trop souvent tendance à oublier cette histoire de dépendances.
Merci à tous !
J'ai aussi trouvé la classe Win32_LogicalDisk avec l'attribut VolumeSerialNumber;
Je pense que ca répond à la question sur le numéro de série du disque...