Lab view编程中如何读取cpu使用率,硬盘大小?

 我来答
匿名用户
2016-08-18
展开全部
  代码如下(具体看注释):
  view plaincopy to clipboardprint?
  using System;
  using System.Management;
  namespace Soyee.Comm
  {
  /// summary
  /// Computer Information
  /// /summary
  public class Computer
  {
  public string CpuID;
  public string MacAddress;
  public string DiskID;
  public string IpAddress;
  public string LoginUserName;
  public string ComputerName;
  public string SystemType;
  public string TotalPhysicalMemory; //单位:M
  private static Computer _instance;
  public static Computer Instance()
  {
  if (_instance == null)
  _instance = new Computer();
  return _instance;
  }
  protected Computer()
  {
  CpuID=GetCpuID();
  MacAddress=GetMacAddress();
  DiskID=GetDiskID();
  IpAddress=GetIPAddress();
  LoginUserName=GetUserName();
  SystemType=GetSystemType();
  TotalPhysicalMemory=GetTotalPhysicalMemory();
  ComputerName=GetComputerName();
  }
  string GetCpuID()
  {
  try
  {
  //获取CPU序列号代码
  string cpuInfo = ;//cpu序列号
  ManagementClass mc = new ManagementClass(Win32_Processor);
  ManagementObjectCollection moc = mc.GetInstances();
  foreach(ManagementObject mo in moc)
  {
  cpuInfo = mo.Properties[ProcessorId].Value.ToString();
  }
  moc=null;
  mc=null;
  return cpuInfo;
  }
  catch
  {
  return unknow;
  }
  finally
  {
  }
  }
  string GetMacAddress()
  {
  try
  {
  //获取网卡硬件地址
  string mac=;
  ManagementClass mc = new ManagementClass(Win32_NetworkAdapterConfiguration);
  ManagementObjectCollection moc = mc.GetInstances();
  foreach(ManagementObject mo in moc)
  {
  if((bool)mo[IPEnabled] == true)
  {
  mac=mo[MacAddress].ToString();
  break;
  }
  }
  moc=null;
  mc=null;
  return mac;
  }
  catch
  {
  return unknow;
  }
  finally
  {
  }
  }
  string GetIPAddress()
  {
  try
  {
  //获取IP地址
  string st=;
  ManagementClass mc = new ManagementClass(Win32_NetworkAdapterConfiguration);
  ManagementObjectCollection moc = mc.GetInstances();
  foreach(ManagementObject mo in moc)
  {
  if((bool)mo[IPEnabled] == true)
  {
  //st=mo[IpAddress].ToString();
  System.Array ar;
  ar=(System.Array)(mo.Properties[IpAddress].Value);
  st=ar.GetValue(0)。ToString();
  break;
  }
  }
  moc=null;
  mc=null;
  return st;
  }
  catch
  {
  return unknow;
  }
  finally
  {
  }
  }
  string GetDiskID()
  {
  try
  {
  //获取硬盘ID
  String HDid=;
  ManagementClass mc = new ManagementClass(Win32_DiskDrive);
  ManagementObjectCollection moc = mc.GetInstances();
  foreach(ManagementObject mo in moc)
  {
  HDid = (string)mo.Properties[Model].Value;
  }
  moc=null;
  mc=null;
  return HDid;
  }
  catch
  {
  return unknow;
  }
  finally
  {
  }
  }
  /// summary
  /// 操作系统的登录用户名
  /// /summary
  /// returns/returns
  string GetUserName()
  {
  try
  {
  string st=;
  ManagementClass mc = new ManagementClass(Win32_ComputerSystem);
  ManagementObjectCollection moc = mc.GetInstances();
  foreach(ManagementObject mo in moc)
  {
  st=mo[UserName].ToString();
  }
  moc=null;
  mc=null;
  return st;
  }
  catch
  {
  return unknow;
  }
  finally
  {
  }
  }
  /// summary
  /// PC类型
  /// /summary
  /// returns/returns
  string GetSystemType()
  {
  try
  {
  string st=;
  ManagementClass mc = new ManagementClass(Win32_ComputerSystem);
  ManagementObjectCollection moc = mc.GetInstances();
  foreach(ManagementObject mo in moc)
  {
  st=mo[SystemType].ToString();
  }
  moc=null;
  mc=null;
  return st;
  }
  catch
  {
  return unknow;
  }
  finally
  {
  }
  }
  /// summary
  /// 物理内存
  /// /summary
  /// returns/returns
  string GetTotalPhysicalMemory()
  {
  try
  {
  string st=;
  ManagementClass mc = new ManagementClass(Win32_ComputerSystem);
  ManagementObjectCollection moc = mc.GetInstances();
  foreach(ManagementObject mo in moc)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式