Salut la communauté,
Voilà, j'ai un léger problème sur l'utilisation de la Win32_LogicalDisk et la méthode ScheduleAutoChk
Ci joint le bout de code qui utilise WMI, la classe Win32_LogicalDisk et la méthode ScheduleAutoChk...
Ce qui pose problème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 ManagementScope aManagementScope = new ManagementScope("\\\\localhost\\root\\cimv2"); ObjectQuery aObjectQuery = new System.Management.ObjectQuery("select * from Win32_LogicalDisk where DriveType=3"); ManagementObjectSearcher aManagementObjectSearcher = new ManagementObjectSearcher(aManagementScope, aObjectQuery); ManagementObjectCollection aManagementObjectCollection = aManagementObjectSearcher.Get(); foreach (ManagementObject aManagementObject in aManagementObjectCollection) { long FreeSpace = long.Parse(aManagementObject["FreeSpace"].ToString()); long Size = long.Parse(aManagementObject["Size"].ToString()); long UseSpace = Size - FreeSpace; FreeSpace = FreeSpace / (1<<20); // On veut UseSpace = UseSpace / (1<<20); // le résultat Size = Size / (1 << 20); // en Méga Octets Console.WriteLine("Name : " + aManagementObject["name"].ToString()); Console.WriteLine(String.Format("Taille du disque: {0} MO, Espace libre: {1} MO, Espace utilisée: {2} MO \n" , Size, FreeSpace, UseSpace)); try { object[] parameters = new object[1]; string[] sLogicalDisk = { aManagementObject["name"].ToString() }; parameters[0] = sLogicalDisk; // EXCEPTION DECLENCHEE: METHODE INVALIDE, pourquoi ? if ((int)aManagementObject.InvokeMethod("ScheduleAutoChk", parameters) == 0) Console.WriteLine("SUCCES"); } catch (ManagementException Ex) { Console.WriteLine(Ex.Message); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if ((int)aManagementObject.InvokeMethod("ScheduleAutoChk", parameters) == 0) Console.WriteLine("SUCCES");
Une exception est déclenchée: Méthode non valide.
Si quelqu'un à la moindre idée, qu'il n'hésite surtout pas![]()
Partager