windows mobile进程查看器开发(四)—— 查看内存、内部存储和存储卡的使用情况

前三讲的内容讲得很不详细,因为这是之前做的,所以就大概拷贝了一下代码,接下来要实现的几个功能我也是一边学习,一边做的,所以会讲得稍微详细一点。

 

获得当前存储信息要用到的函数

 

BOOL WINAPI GlobalMemoryStatus(__inout LPMEMORYSTATUSEX lpBuffer);

 

其中,lpBuffer是一个MEMORYSTATUS结构体,可以获取当前的存储信息。

 

typedef struct _MEMORYSTATUS {
DWORD dwLength;
DWORD dwMemoryLoad;
DWORD dwTotalPhys;
DWORD dwAvailPhys;
DWORD dwTotalPageFile;
DWORD dwAvailPageFile;
DWORD dwTotalVirtual;
DWORD dwAvailVirtual;
} MEMORYSTATUS, *LPMEMORYSTATUS;

  public partial class MemoryStatus : Form { public struct MEMORYINFO { public int dwLength; public int dwMemoryLoad; public int dwTotalPhys; public int dwAvailPhys; public int dwTotalPageFile; public int dwAvailPageFile; public int dwTotalVirtual; public int dwAvailVirtual; }; public MemoryStatus() { InitializeComponent(); initial(); } private void menuItem1_Click(object sender, EventArgs e) { this.Close(); } private void initial() //初始化,获取存储信息 { MEMORYINFO mms; //定义的内存信息结构体 mms = new MEMORYINFO(); GlobalMemoryStatus(ref mms); // totalVirtual.Text = mms.dwMemoryLoad.ToString()+"% 的内存正在使用"; totalVirtual.Text = ((float)mms.dwTotalVirtual / 1024 / 1024).ToString("0.00") + " MB"; totalPhys.Text = ((float)mms.dwTotalPhys / 1024 / 1024).ToString("0.00") + " MB"; availPhys.Text = ((float)mms.dwAvailPhys / 1024 / 1024).ToString("0.00") + " MB"; availVirtual.Text = ((float)mms.dwAvailVirtual / 1024 / 1024).ToString("0.00") + " MB"; usePhys.Text = (((float)mms.dwTotalPhys - mms.dwAvailPhys) / 1024 / 1024).ToString("0.00") + " MB"; useVirtual.Text = (((float)mms.dwTotalVirtual - mms.dwAvailVirtual) / 1024 / 1024).ToString("0.00") + " MB"; } [DllImport("coredll.dll", SetLastError = true)] public static extern void GlobalMemoryStatus(ref MEMORYINFO buffer); }

 

windows mobile进程查看器开发(四)—— 查看内存、内部存储和存储卡的使用情况_第1张图片

你可能感兴趣的:(windows mobile进程查看器开发(四)—— 查看内存、内部存储和存储卡的使用情况)