C#获取机器信息(IPV4.IPV6.MAC.硬盘信息,机器厂商/型号)「建议收藏」
把翻到的很多以前写的程序做个记录,记录学习过程,同时也方便以后查阅
https://github.com/Yiomo/GetInfo
该APP会获取部分机器信息并且在当前目录下生成一份TXT报告
1.引用
using System; using System.Collections.Specialized; using System.IO; using System.Management; using System.Net; using System.Net.Sockets; using System.Windows; using System.Windows.Input; using System.Windows.Media;
2.控件
省略一堆textblock一类的控件,能输出就行
3.获取机器名称
string machineName = Environment.MachineName; bl1.Text = machineName;
4.获取MAC地址
try { using (ManagementClass mc = new ManagementClass(“Win32_NetworkAdapterConfiguration”)) { using (ManagementObjectCollection moc = mc.GetInstances()) { string macAddress = “”; foreach (ManagementObject mo in moc) { if ((bool)mo[“IPEnabled”] == true) { macAddress = mo[“MacAddress”].ToString(); break; } } bl2.Text = macAddress; } } } catch { bl2.Text = “unknown”; } finally { }
5.判断32/64位系统
bool is64OS = Environment.Is64BitOperatingSystem; if (is64OS == true) bl3.Text = “64 bits OS”;//64位 else bl3.Text = “32 bits OS”;//32位
6.获取硬盘信息
string HDSN = “”; ManagementClass cimobject = new ManagementClass(“Win32_DiskDrive”); ManagementObjectCollection moc1 = cimobject.GetInstances(); foreach (ManagementObject mo in moc1) { HDSN = (string)mo.Properties[“Model”].Value; } ManagementClass mc1 = new ManagementClass(“Win32_PhysicalMedia”); ManagementObjectCollection moc2 = mc1.GetInstances(); string HDID = “”; foreach (ManagementObject mo in moc2) { HDID = mo.Properties[“SerialNumber”].Value.ToString().Trim(); break; } bl4.Text = HDSN; bl5.Text = HDID;
7.IPV4
string[] GetLocalIpv4() { IPAddress[] localIPs; localIPs = Dns.GetHostAddresses(Dns.GetHostName()); StringCollection IpCollection = new StringCollection(); foreach (IPAddress ip in localIPs) { if (ip.AddressFamily == AddressFamily.InterNetwork)///AddressFamily.InterNetwork代表IPV4地址,不包含V6 IpCollection.Add(ip.ToString()); } string[] IpArray = new string[IpCollection.Count]; IpCollection.CopyTo(IpArray, 0); return IpArray; }
void ShowIP() { foreach (string ip in GetLocalIpv4()) { bl6.Text = ip.ToString(); } return; }
ShowIP();
8.IPV6
string ip = “”; IPAddress[] addressList = Dns.GetHostEntry(Dns.GetHostName()).AddressList; for (int i = 0; i < addressList.Length; i++) { ip = addressList[i].ToString(); } bl7.Text = ip;
9. 获取厂商和机器型号(manufacturer)(model)
ManagementClass mc2 = new ManagementClass(“Win32_ComputerSystem”); ManagementObjectCollection moc3 = mc2.GetInstances();
if (moc3.Count != 0) { foreach (ManagementObject mo in mc2.GetInstances()) { bl1.Text =mo[“Manufacturer”].ToString();///制造厂商 } }
foreach (ManagementObject m in moc3) { PCV = m[“model”].ToString (); } bl2.Text = PCV;机器型号
/*********************//
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/188751.html原文链接:https://javaforall.cn
相关文章
- C#之 对象数组
- c# mysql executenonquery_C#与数据库访问技术总结(八)之ExecuteNonQuery方法
- C# Timer控件学习之使用Timer解决按钮幂等性问题案例分享
- C# 判断文件/文件夹 是否存在
- c#面试题抽象类和接口的区别-金三银四面试:C#程序员经常遇到的30道基础面试题,想你所想
- C#属性(Property)
- 位c驱动下的Oracle 64位数据库快速开发(c# oracle 64)
- c#(Socket)异步套接字代码示例
- C#禁用鼠标中间键的方法
- C#Console类的具体用法
- C#数据结构之循环链表的实例代码
- 浅解关于C#多线程的介绍
- C#中城市线路图的纯算法以及附带求极权值
- 解析C#自定义控件的制作与使用实例的详解
- C#mysql插入数据,中文乱码的解决方法
- C#截取中英文混合指定长度字符串实例
- c#批量上传图片到服务器示例分享
- C#null合并运算符??(双问号)使用示例
- C#使用XML序列化操作菜单的方法
- C#特性之匿名方法和Lambda表达式
- 基于C#实现的仿windows左侧伸缩菜单效果
- C#中string用法实例详解