DownloadLearn
سه شنبه 02 دی 1393, 03:32 صبح
سلام دوستان
می خوام با استفاده از توابع api مقدار کل رم و مقدار رم استفاده شده رو نمایش بدم وقتی سیستم یک رم داشته باشه ( مثلا یک رم 4 گیگ) برنامه درست کار می کنه ولی مشکلی که هست وقتی سیستم 2 تا رم داشته باشه فقط مقدار یکی از رم ها رو نمایش میده ممنون میشم راهنمایی کنید مشکل از کجاست
[DllImport("kernel32")]
public static extern void GlobalMemoryStatus(ref MEMORYSTATUS buf);
[StructLayout(LayoutKind.Sequential)]
public struct MEMORYSTATUS
{
public uint dwLength;
public uint dwMemoryLoad;
public uint dwTotalPhys;
public uint dwAvailPhys;
public uint dwTotalPageFile;
public uint dwAvailPageFile;
public uint dwTotalVirtual;
public uint dwAvailVirtual;
}
MEMORYSTATUS ms = new MEMORYSTATUS();
GlobalMemoryStatus(ref ms);
textBox1.Text = Convert.ToString(ms.dwTotalPhys / 1024 / 1024)+ " MB";
می خوام با استفاده از توابع api مقدار کل رم و مقدار رم استفاده شده رو نمایش بدم وقتی سیستم یک رم داشته باشه ( مثلا یک رم 4 گیگ) برنامه درست کار می کنه ولی مشکلی که هست وقتی سیستم 2 تا رم داشته باشه فقط مقدار یکی از رم ها رو نمایش میده ممنون میشم راهنمایی کنید مشکل از کجاست
[DllImport("kernel32")]
public static extern void GlobalMemoryStatus(ref MEMORYSTATUS buf);
[StructLayout(LayoutKind.Sequential)]
public struct MEMORYSTATUS
{
public uint dwLength;
public uint dwMemoryLoad;
public uint dwTotalPhys;
public uint dwAvailPhys;
public uint dwTotalPageFile;
public uint dwAvailPageFile;
public uint dwTotalVirtual;
public uint dwAvailVirtual;
}
MEMORYSTATUS ms = new MEMORYSTATUS();
GlobalMemoryStatus(ref ms);
textBox1.Text = Convert.ToString(ms.dwTotalPhys / 1024 / 1024)+ " MB";