首先引入服务 然后 调用

本文转载自http://blog.sina.com.cn/s/blog_7eeb43210101hf7f.html

  1. public class Computer
  2. {
  3. public static string CpuID; //1.cpu序列号
  4. public static string MacAddress; //2.mac序列号
  5. public static string DiskID; //3.硬盘id
  6. public static string IpAddress; //4.ip地址
  7. public static string LoginUserName; //5.登录用户名
  8. public static string ComputerName; //6.计算机名
  9. public static string SystemType; //7.系统类型
  10. public static string TotalPhysicalMemory; //8.内存量 单位:M
  11.  
  12. static Computer()
  13. {
  14. CpuID = GetCpuID();
  15. MacAddress = GetMacAddress();
  16. DiskID = GetDiskID();
  17. IpAddress = GetIPAddress();
  18. LoginUserName = GetUserName();
  19. SystemType = GetSystemType();
  20. TotalPhysicalMemory = GetTotalPhysicalMemory();
  21. ComputerName = GetComputerName();
  22. }
  23. //1.获取CPU序列号代码
  24.  
  25. static string GetCpuID()
  26. {
  27. try
  28. {
  29. string cpuInfo = "";//cpu序列号
  30. ManagementClass mc = new ManagementClass("Win32_Processor");
  31. ManagementObjectCollection moc = mc.GetInstances();
  32. foreach (ManagementObject mo in moc)
  33. {
  34. cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
  35. }
  36. moc = null;
  37. mc = null;
  38. return cpuInfo;
  39. }
  40. catch
  41. {
  42. return "unknow";
  43. }
  44. finally
  45. {
  46. }
  47.  
  48. }
  49.  
  50. //2.获取网卡硬件地址
  51.  
  52. static string GetMacAddress()
  53. {
  54. try
  55. {
  56. string mac = "";
  57. ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
  58. ManagementObjectCollection moc = mc.GetInstances();
  59. foreach (ManagementObject mo in moc)
  60. {
  61. if ((bool)mo["IPEnabled"] == true)
  62. {
  63. mac = mo["MacAddress"].ToString();
  64. break;
  65. }
  66. }
  67. moc = null;
  68. mc = null;
  69. return mac;
  70. }
  71. catch
  72. {
  73. return "unknow";
  74. }
  75. finally
  76. {
  77. }
  78.  
  79. }
  80.  
  81. //3.获取硬盘ID
  82. static string GetDiskID()
  83. {
  84. try
  85. {
  86. String HDid = "";
  87. ManagementClass mc = new ManagementClass("Win32_DiskDrive");
  88. ManagementObjectCollection moc = mc.GetInstances();
  89. foreach (ManagementObject mo in moc)
  90. {
  91. HDid = (string)mo.Properties["Model"].Value;
  92. }
  93. moc = null;
  94. mc = null;
  95. return HDid;
  96. }
  97. catch
  98. {
  99. return "unknow";
  100. }
  101. finally
  102. {
  103. }
  104.  
  105. }
  106.  
  107. //4.获取IP地址
  108.  
  109. static string GetIPAddress()
  110. {
  111. try
  112. {
  113. string st = "";
  114. ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
  115. ManagementObjectCollection moc = mc.GetInstances();
  116. foreach (ManagementObject mo in moc)
  117. {
  118. if ((bool)mo["IPEnabled"] == true)
  119. {
  120. //st=mo["IpAddress"].ToString();
  121. System.Array ar;
  122. ar = (System.Array)(mo.Properties["IpAddress"].Value);
  123. st = ar.GetValue().ToString();
  124. break;
  125. }
  126. }
  127. moc = null;
  128. mc = null;
  129. return st;
  130. }
  131. catch
  132. {
  133. return "unknow";
  134. }
  135. finally
  136. {
  137. }
  138.  
  139. }
  140.  
  141. /// 5.操作系统的登录用户名
  142. static string GetUserName()
  143. {
  144. try
  145. {
  146. string un = "";
  147.  
  148. un = Environment.UserName;
  149. return un;
  150. }
  151. catch
  152. {
  153. return "unknow";
  154. }
  155. finally
  156. {
  157. }
  158.  
  159. }
  160.  
  161. //6.获取计算机名
  162. static string GetComputerName()
  163. {
  164. try
  165. {
  166. return System.Environment.MachineName;
  167.  
  168. }
  169. catch
  170. {
  171. return "unknow";
  172. }
  173. finally
  174. {
  175. }
  176. }
  177.  
  178. ///7 PC类型
  179. static string GetSystemType()
  180. {
  181. try
  182. {
  183. string st = "";
  184. ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
  185. ManagementObjectCollection moc = mc.GetInstances();
  186. foreach (ManagementObject mo in moc)
  187. {
  188.  
  189. st = mo["SystemType"].ToString();
  190.  
  191. }
  192. moc = null;
  193. mc = null;
  194. return st;
  195. }
  196. catch
  197. {
  198. return "unknow";
  199. }
  200. finally
  201. {
  202. }
  203. }
  204.  
  205. ///8.物理内存
  206. static string GetTotalPhysicalMemory()
  207. {
  208. try
  209. {
  210.  
  211. string st = "";
  212. ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
  213. ManagementObjectCollection moc = mc.GetInstances();
  214. foreach (ManagementObject mo in moc)
  215. {
  216.  
  217. st = mo["TotalPhysicalMemory"].ToString();
  218.  
  219. }
  220. moc = null;
  221. mc = null;
  222. return st;
  223. }
  224. catch
  225. {
  226. return "unknow";
  227. }
  228. finally
  229. {
  230. }
  231.  
  232. }
  233.  
  234. }

C# 获取本机CPU序列号,MAC地址,硬盘ID,本机IP地址,计算机名,物理内存,PC类型的更多相关文章

  1. Linux 下PHP获取服务器状态CPU、MEM使用率、磁盘使用率、IP地址获取、MAC地址获取等信息记录

    获取服务器状态记录使用的是SHELL命令方式进行获取输出结果  然后进行字符串拆分处理等方式进行获取到自己有用信息 贴出获取方式以及常用处理方式 <?PHP $fp = popen('执行SHE ...

  2. php获取linux服务器CPU、内存、硬盘使用率的实现代码

    define("MONITORED_IP", "172.16.0.191"); //被监控的服务器IP地址 也就是本机地址 define("DB_SE ...

  3. C/C++获取Linux系统CPU和内存及硬盘使用情况

    需求分析: 不使用Top  df  free 等命令,利用C/C++获取Linux系统CPU和内存及硬盘使用情况 实现: //通过获取/proc/stat (CPU)和/proc/meminfo(内存 ...

  4. PHP获取IP地址的方法,防止伪造IP地址注入攻击

    PHP获取IP地址的方法 /** * 获取客户端IP地址 * <br />来源:ThinkPHP * <br />"X-FORWARDED-FOR" 是代理 ...

  5. Android 获取本地外网IP、内网IP、计算机名等信息

    一.获取本地外网IP public static String GetNetIp() { URL infoUrl = null; InputStream inStream = null; try { ...

  6. The three day 给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本

    """ 给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本. 所谓无效化 IP 地址,其实就是用 "[.]" 代替了每个 ...

  7. 通过js获取计算机内网ip,计算机名,mac地址

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  8. 批量ssh登录,获取操作系统、CPU、内存、硬盘信息<shell>

    说明:该脚本读取machine.txt文件中的机器名,然后批量ssh登录,获取每台机器的操作系统,CPU,内存,硬盘等信息. 使用方法:将文件保存为sh,chmod +x filename 为该sh文 ...

  9. 为什么有mac地址还学要有IP地址??

    历史原因:早期的以太网只有集线器 ,没有交换机,所以发出去的包能被以太网内的所有机器监听到,因此要附带上MAC地址,每个机器只需要接受与自己MAC地址相匹配的包. 个人感觉上面的说法并不是太准确.找明 ...

随机推荐

  1. Python基础篇【第5篇】: Python内置模块(二)

    内置模块 1. OS os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell ...

  2. C#创建DBF自由库 [转]

    先看段代码: string ole_connstring = @"Provider=VFPOLEDB.1;Data Source=D:\;";System.Data.OleDb.O ...

  3. 【原创】Java批量反编译利器(jd-gui)介绍

    Java反编译利器(jd-gui)介绍 当要做白盒测试或安全测试时,我们需要借助工具扫描被测代码,相信大家都遇到过没有源代码,而需要反编译的情形吧,也可能大家用过jad工具,我这里介绍下方便的工具jd ...

  4. yum命令——安装、卸载、查询等

    --常用命令 1.安装软件 yum install 软件名称 2.卸载软件 yum remove 软件名称 3.更新软件 yum update 软件名称 4.列出所有可安装的软件包 yum list ...

  5. Erlang初学

    这篇文章主要介绍了Erlang初学:Erlang的一些特点和个人理解总结,本文总结了函数式编程.一切都是常量.轻量进程.进程端口映射及典型缺点等内容,需要的朋友可以参考下 我对 Erlang 编程理念 ...

  6. flex acionscript png图片去除多余空白,生成合适大小图片

    //最小矩形(非透明最小区域) public static function getMinRect(target:BitmapData):Rectangle{   return target.getC ...

  7. .net操作数据库,史上最牛逼的方法,你见过这种方法吗

    免费分享给大家.下载地址在最下面. C# code   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ...

  8. 使用微软CORS包不能跨域访问的问题

    使用jquery的ajax异步调用的时候会出现不能跨域访问的问题,这个问题一般有两种方法. 1:使用jsonp跨域 2:使用html5的CORS 在这里只谈论第二种,微软对CORS提供的了支持,在Nu ...

  9. dialogfield

    before ax2012: typeof() or extendedtype ax2012: extendedtypestr()

  10. 在<s:iterator>标签里给动态表格添加序号

    在<s:iterator>标签里给动态表格添加序号,需要用到<s:iterator>标签里的Status属性里的count eg:<s:iterator value=&q ...