J'essaie de récupérer la valeur totale de la mémoire physique disponible de ma machine via la classe Win32_OperatingSystem en C#. Voici comment je récupère cette valeur.Mémoire physique totale récupérée à partir de Win32_ComputerSystem ne correspond pas à la valeur de l'outil DirectX
ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
ManagementObjectCollection moc = mc.GetInstances();
if (moc.Count != 0)
{
foreach (ManagementObject MO in mc.GetInstances())
{
try
{
computerSystemDetails["TotalPhysicalMemory"] = (MO["TotalPhysicalMemory"] == null) ? new string[] { } : new string[] { MO["TotalPhysicalMemory"].ToString() };
}
catch (Exception ex)
{
logger.Error("GetSystemDetails", "Error occurred when retrieving the computer system information", ex);
}
}
}
return computerSystemDetails;
La valeur que j'obtiens de ce qui précède est de 16243 Mo. Mais quand j'utilise l'outil de diagnostic DirectX, j'obtiens la valeur 16384MB. Quelle est l'explication de cette différence? Veuillez nous conseiller