同步操作将从 落云谷/QJ_OneLotus 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
using System;using System.Collections.Generic;using System.Diagnostics;using System.Threading;using System.IO;using System.Text;using System.Management;using System.Runtime.InteropServices;using System.Web;using System.Collections;namespace QJY.API{////// 系统信息类 - 获取CPU、内存、磁盘、进程信息///public class SystemHelp{private int m_ProcessorCount = 0; //CPU个数private PerformanceCounter pcCpuLoad; //CPU计数器private long m_PhysicalMemory = 0; //物理内存private const int GW_HWNDFIRST = 0;private const int GW_HWNDNEXT = 2;private const int GWL_STYLE = (-16);private const int WS_VISIBLE = 268435456;private const int WS_BORDER = 8388608;#region AIP声明[DllImport("IpHlpApi.dll")]extern static public uint GetIfTable(byte[] pIfTable, ref uint pdwSize, bool bOrder);[DllImport("User32")]private extern static int GetWindow(int hWnd, int wCmd);[DllImport("User32")]private extern static int GetWindowLongA(int hWnd, int wIndx);[DllImport("user32.dll")]private static extern bool GetWindowText(int hWnd, StringBuilder title, int maxBufSize);[DllImport("user32", CharSet = CharSet.Auto)]private extern static int GetWindowTextLength(IntPtr hWnd);#endregion#region 构造函数////// 构造函数,初始化计数器等///public SystemHelp(){//初始化CPU计数器pcCpuLoad = new PerformanceCounter("Processor", "% Processor Time", "_Total");pcCpuLoad.MachineName = ".";pcCpuLoad.NextValue();//CPU个数m_ProcessorCount = Environment.ProcessorCount;//获得物理内存ManagementClass mc = new ManagementClass("Win32_ComputerSystem");ManagementObjectCollection moc = mc.GetInstances();foreach (ManagementObject mo in moc){if (mo["TotalPhysicalMemory"] != null){m_PhysicalMemory = long.Parse(mo["TotalPhysicalMemory"].ToString());}}}#endregion#region CPU个数////// 获取CPU个数///public int ProcessorCount{get{return m_ProcessorCount;}}#endregion#region CPU占用率////// 获取CPU占用率///public float CpuLoad{get{return pcCpuLoad.NextValue();}}#endregion#region 可用内存////// 获取可用内存///public long MemoryAvailable{get{long availablebytes = 0;//ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_PerfRawData_PerfOS_Memory");//foreach (ManagementObject mo in mos.Get())//{// availablebytes = long.Parse(mo["Availablebytes"].ToString());//}ManagementClass mos = new ManagementClass("Win32_OperatingSystem");foreach (ManagementObject mo in mos.GetInstances()){if (mo["FreePhysicalMemory"] != null){availablebytes = 1024 * long.Parse(mo["FreePhysicalMemory"].ToString());}}return availablebytes;}}#endregion#region 物理内存////// 获取物理内存///public long PhysicalMemory{get{return m_PhysicalMemory;}}#endregion#region 获得进程列表////// 获得进程列表///public ArrayList GetProcessInfo(){ArrayList pInfo = new ArrayList();Process[] processes = Process.GetProcesses();//foreach (Process instance in processes)//{// try// {// pInfo.Add(new ProcessInfo(instance.Id,// instance.ProcessName,// instance.TotalProcessorTime.TotalMilliseconds,// instance.WorkingSet64,// instance.MainModule.FileName));// }// catch { }//}return pInfo;}////// 获得特定进程信息////// 进程名称public ArrayList GetProcessInfo(string ProcessName){ArrayList pInfo = new ArrayList();Process[] processes = Process.GetProcessesByName(ProcessName);//foreach (Process instance in processes)//{// try// {// pInfo.Add(new ProcessInfo((instance.Id,// instance.ProcessName,// instance.TotalProcessorTime.TotalMilliseconds,// instance.WorkingSet64,// instance.MainModule.FileName));// }// catch { }//}return pInfo;}#endregion#region 结束指定进程////// 结束指定进程////// 进程的 Process IDpublic static void EndProcess(int pid){try{Process process = Process.GetProcessById(pid);process.Kill();}catch { }}#endregion}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。