分类目录

链接

2011 年 6 月
 12345
6789101112
13141516171819
20212223242526
27282930  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > .NET > 正文
c#获取系统内存等信息
.NET 暂无评论 阅读(2,547)
//cpu频率

using Microsoft.Win32;

private int GetCPUFrequency()
{
RegistryKey rk
= Registry.LocalMachine.OpenSubKey(@"HARDWAREDESCRIPTIONSystemCentralProcessor");

object obj = rk.GetValue("~MHz");
int CPUFrequency = (int)obj;
return CPUFrequency;
}
//////////////////////////////////

//磁盘空间 Management

using System.Management;

private long GetFreeDiskSpace()
{
ManagementObject disk
= new ManagementObject(
"win32_logicaldisk.deviceid="d:"");
disk.Get();
string totalByte = disk["FreeSpace"].ToString();
long freeDiskSpaceMb = Convert.ToInt64(totalbyte)/1024/1024;
return freeDiskSpaceMb;
}


/////////////////////
//内存信息


using System;
using System.Text;
using System.Runtime.InteropServices;

namespace ConsoleApplication1
{
/**//// <summary>
/// Summary description for Class1.
/// </summary>

class Class1
{
[StructLayout(LayoutKind.Sequential)]
public struct MEMORY_INFO
{
public uint dwLength;
public uint dwMemoryLoad;
public uint dwTotalPhys;
public uint dwAvailPhys;
public uint dwTotalPageFile;
public uint dwAvailPageFile;
public uint dwTotalVirtual;
public uint dwAvailVirtual;
}
[DllImport(
"kernel32")]
public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo);

public static int Main(string[] args)
{
Class1 class1
= new Class1();

class1.GetMemoryStatus();
return 0;
}
private void GetMemoryStatus()
{
MEMORY_INFO MemInfo;
MemInfo
= new MEMORY_INFO();
GlobalMemoryStatus(
ref MemInfo);

long totalMb = Convert.ToInt64( MemInfo.dwTotalPhys.ToString())/1024/1024;
long avaliableMb = Convert.ToInt64( MemInfo.dwAvailPhys.ToString())/1024/1024;

Console.WriteLine(
"物理内存共有" + totalMb + " MB");
Console.WriteLine(
"可使用的物理内存有" + avaliableMb +" MB");
}

}
//////////////////////////////

//cpu名字

using Microsoft.Win32;
private string GetCPUName()
{
RegistryKey rk
= Registry.LocalMachine.OpenSubKey(@"HARDWAREDESCRIPTIONSystemCentralProcessor");

object obj = rk.GetValue("ProcessorNameString");
string CPUName = (string)obj;
return CPUName.TrimStart();
}


///////////////////////
//OS版本

using System;

namespace determineOS_CS
{
class Class1
{
static void Main(string[] args)
{
// Get OperatingSystem information from the system namespace.
System.OperatingSystem osInfo =System.Environment.OSVersion;

// Determine the platform.
switch(osInfo.Platform)
{
// Platform is Windows 95, Windows 98,
// Windows 98 Second Edition, or Windows Me.
case System.PlatformID.Win32Windows:

switch (osInfo.Version.Minor)
{
case 0:
Console.WriteLine (
"Windows 95");
break;
case 10:
if(osInfo.Version.Revision.ToString()=="2222A")
Console.WriteLine(
"Windows 98 Second Edition");
else
Console.WriteLine(
"Windows 98");
break;
case 90:
Console.WriteLine(
"Windows Me");
break;
}
break;

// Platform is Windows NT 3.51, Windows NT 4.0, Windows 2000,
// or Windows XP.
case System.PlatformID.Win32NT:

switch(osInfo.Version.Major)

{
case 3:
Console.WriteLine(
"Windows NT 3.51");
break;
case 4:
Console.WriteLine(
"Windows NT 4.0");
break;
case 5:
if (osInfo.Version.Minor==0)
Console.WriteLine(
"Windows 2000");
else
Console.WriteLine(
"Windows XP");
break;
}
break;
}
Console.ReadLine ();
}
}
}

============ 欢迎各位老板打赏~ ===========

【上篇】
【下篇】

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:c#获取系统内存等信息 | Bruce's Blog

发表评论

留言无头像?