哈咯各位,这两天碰到一个问题,就是用C#编程读取硬件信息,读到的内存总额时出错,显示为零K;硬件信息为2条2G内存,OS为Windows 2003,请问一下谁碰到类型的问题,有啥好的解决办法?
解决方案 »
- list<class>作为gridview数据源时如何让gridview的首列数据以链接的形式显示呢?
- |zyciis| 如何用type.GetProperties()取出我定义了其他属性的公有属性
- 如何控制 <td>动态绑定</td> 中动态绑定的数据在单元格中的高度或宽度
- 页面显示问题?
- 本地jpg文件转换成stream流的问题!问了很久根本没人会,还是.....
- 网站的前台页面内容的显示,在asp.net里是怎么实现的
- 关于自定义生成网页内容的简单问题
- 请问在ASP.NET页面中,怎么建立与水晶报表的连接?
- 登陆问题
- 如何在类里面定义web控件
- asp.NET的服务器大家用什么?IIS?
- 登录 ip 限制
/// <summary>
/// 定义内存的信息结构
/// <code>
/// LayoutKind.Automatic:为了提高效率允许运行态对类型成员重新排序,注意:永远不要使用这个选项来调用不受管辖的动态链接库函数。
/// LayoutKind.Explicit:对每个域按照FieldOffset属性对类型成员排序
/// LayoutKind.Sequential:对出现在受管辖类型定义地方的不受管辖内存中的类型成员进行排序。
/// </code>
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct MemoryInfo
{
/// <summary>
///
/// </summary>
public uint dwLength; /// <summary>
/// 已经使用的内存
/// </summary>
public uint dwMemoryLoad; /// <summary>
/// 总物理内存大小
/// </summary>
public uint dwTotalPhys; /// <summary>
/// 可用物理内存大小
/// </summary>
public uint dwAvailPhys; /// <summary>
/// 交换文件总大小
/// </summary>
public uint dwTotalPageFile; /// <summary>
/// 可用交换文件大小
/// </summary>
public uint dwAvailPageFile; /// <summary>
/// 总虚拟内存大小
/// </summary>
public uint dwTotalVirtual; /// <summary>
/// 可用虚拟内存大小
/// </summary>
public uint dwAvailVirtual;
} class HelloMemory
{
/// <summary>
/// 获取内存使用状态的API方法
/// </summary>
/// <param name="memInfo"></param>
[DllImport("kernel32")]
private static extern void GlobalMemoryStatus(ref MemoryInfo memInfo); static void Main(string[] args)
{
MemoryInfo mi = new MemoryInfo();
GlobalMemoryStatus(ref mi); Console.WriteLine(string.Format("虚拟内存共计 = {0} K", mi.dwTotalVirtual / 1024));
Console.WriteLine(string.Format("虚拟内存已用 = {0} K", (mi.dwTotalVirtual - mi.dwAvailVirtual) / 1024));
Console.WriteLine(string.Format("虚拟内存可用 = {0} K", mi.dwAvailVirtual / 1024)); Console.WriteLine(string.Format("物理内存共计 = {0} K", mi.dwTotalPhys / 1024));
Console.WriteLine(string.Format("物理内存已用 = {0} K", (mi.dwTotalPhys - mi.dwAvailPhys) / 1024));
Console.WriteLine(string.Format("物理内存可用 = {0} K", mi.dwAvailPhys / 1024)); Console.ReadKey();
}
}