Problème accès refusé en utilisant de "ManagementObject" en C#
ttvi2005
Messages postés14Date d'inscriptionmardi 21 juin 2005StatutMembreDernière intervention12 août 2006
-
26 févr. 2006 à 12:18
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
26 févr. 2006 à 13:35
Bonjour à tous,
J'essaie de faire une fonction en C# pour lire le numero de serie de mes disques durs sous Windows XP.
...
ManagementClass mc = new ManagementClass("Win32_LogicalDisk");
ManagementObjectCollection disks = mc.GetInstances();
foreach(ManagementObject disk in disks)
{
string volume_ID = disk["DeviceID"].ToString();
string volume_SN = disk["VolumeSerialNumber"].ToString();
...
}
...
Mais à l'execution, le programme se plante sur une exception de type "Accès refusé". Apparement, c'est au niveau de "foreach(ManagementObject disk in disks)", plus exactement au niveau de la variable "disks".
Est-ce que quelqu'un sait si il y a des services ou des autorisations à configurer au niveau de windows ?
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 26 févr. 2006 à 13:35
Salut,
Déjà ta boucle est dangereuse, si par exemple ton lecteur disquettes est vide, tu vas te retrouver avec des NullReferenceException
ManagementClass mc = new ManagementClass("Win32_LogicalDisk");
ManagementObjectCollection disks = mc.GetInstances();
foreach(ManagementObject disk in disks)
{
string volume_ID = disk["DeviceID"] as string;
string volume_SN = disk["VolumeSerialNumber"] as string;