日期:2014-05-18 浏览次数:21060 次
//===========================声明API========================================
[DllImport("kernel32")]
public static extern void GetWindowsDirectory(StringBuilder WinDir, int count);
[DllImport("kernel32")]
public static extern void GetSystemDirectory(StringBuilder SysDir, int count);
[DllImport("kernel32")]
public static extern void GetSystemInfo(ref CPU_INFO cpuinfo);
[DllImport("kernel32")]
public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo);
[DllImport("kernel32")]
public static extern void GetSystemTime(ref SYSTEMTIME_INFO stinfo);
//============================================================================
//================定义CPU的信息结构===========================================
[StructLayout(LayoutKind.Sequential)]
public struct CPU_INFO
{
public uint dwOemId;//CPU的OEM
public uint dwPageSize;//CPU的页面大小
public uint lpMinimumApplicationAddress;
public uint lpMaximumApplicationAddress;
public uint dwActiveProcessorMask;
public uint dwNumberOfProcessors;//CPU的个数
public uint dwProcessorType;//CPU的类型
public uint dwAllocationGranularity;
public uint dwProcessorLevel;//CPU的等级
public uint dwProcessorRevision;
}
//定义内存的信息结构
[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;//剩余虚拟内存
}
//定义系统时间的信息结构
[StructLayout(LayoutKind.Sequential)]
public struct SYSTEMTIME_INFO
{
public ushort wYear;//年
public ushort wMonth;//月
public ushort wDayOfWeek;
public ushort wDay;//日
public ushort wHour;//时
public ushort wMinute;//分
public ushort wSecond;//秒
public ushort wMilliseconds;
}
//=========================================================================================
string ProcessName=[color=#FF0000]进行名称[/color];
Process[] MyProcess=Process.GetProcessesByName(ProcessName);
this.label26.Text="进程镜像名:"+MyProcess[0].ProcessName;
this.label27.Text="进程ID;"+MyProcess[0].Id;
this.label29.Text="启动线程数:"+MyProcess[0].Threads.Count.ToString();
this.label28.Text="CPU占用时间:"+MyProcess[0].TotalProcessorTime.ToString();
this.label30.Text="线程优先级:"+MyProcess[0].PriorityClass.ToString();
this.label31.Text="启动时间:"+MyProcess[0].StartTime.ToLongTimeString();
this.label32.Text="专用内存:"+(MyProcess[0].PrivateMemorySize/1024).ToString()+"K";
this.label33.Text="峰顶虚拟内存:"+(MyProcess[0].PeakVirtualMemorySize/1024).ToString()+"K";
this.label35.Text="峰顶分页内存:"+(MyProcess[0].PeakPagedMemorySize/1024).ToString()+"K";
this.label34.Text="分页系统内存:"+(MyProcess[0].PagedSystemMemorySize/1024).ToString()+"K";
this.label36.Text="分页内存:"+(MyProcess[0].PagedMemorySize/1024).ToString()+"K";
this.label37.Text="未分页系统内存:"