C#获得系统内存及开机时间的问题
rtsp 2007-08-15 04:09:04 网上找的获得内存的代码:
--------------------------------------------------------------
private static string GetPhisicalMemory()
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher(); //用于查询一些如系统信息的管理对象
searcher.Query = new SelectQuery("Win32_PhysicalMemory", "", new string[] { "Capacity" });//设置查询条件
ManagementObjectCollection collection = searcher.Get(); //获取内存容量
ManagementObjectCollection.ManagementObjectEnumerator em = collection.GetEnumerator();
int capacity = 0;
while (em.MoveNext())
{
ManagementBaseObject baseObj = em.Current;
if (baseObj.Properties["Capacity"].Value != null)
{
try
{
capacity += int.Parse(baseObj.Properties["Capacity"].Value.ToString());
}
catch
{
return "";
}
}
}
return (capacity/1024/1024).ToString();
}
--------------------------------------------------------------
获得系统启动时间:
--------------------------------------------------------------
TimeSpan m_WorkTimeTemp = new TimeSpan(Convert.ToInt64(Environment.TickCount) * 10000);
string m_WorkTime = m_WorkTimeTemp.Days + "天" + m_WorkTimeTemp.Hours + "小时" + m_WorkTimeTemp.Minutes + "分钟" + m_WorkTimeTemp.Seconds + "秒";
--------------------------------------------------------------
问题:
--------------------------------------------------------------
我在我的机器上(vista iis7)上面显示的为:
# 内存:1024 MB
# 开机时间:0天20小时34分钟55秒
正常
但是在服务器上(win2003 iis6,内存2G)显示为:
# 内存:-2048 MB
# 开机时间:-6天-9小时-32分钟-25秒
内存显示为负数,开机时间为43天多,错误如上。。
请问这是为啥?