C#获取机器信息(IPV4.IPV6.MAC.硬盘信息,机器厂商/型号)「建议收藏」

C#获取机器信息(IPV4.IPV6.MAC.硬盘信息,机器厂商/型号)「建议收藏」把翻到的很多以前写的程序做个记录,记录学习过程,同时也方便以后查阅https://github.com/Yiomo/GetInfo该APP会获取部分机器信息并且在当前目录下生成一份TXT报告1.引用usingSystem;usingSystem.Collections.Specialized;usingSystem.IO;usingSyste

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

把翻到的很多以前写的程序做个记录,记录学习过程,同时也方便以后查阅

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;机器型号

/*********************//

C#获取机器信息(IPV4.IPV6.MAC.硬盘信息,机器厂商/型号)「建议收藏」C#获取机器信息(IPV4.IPV6.MAC.硬盘信息,机器厂商/型号)「建议收藏」

C#获取机器信息(IPV4.IPV6.MAC.硬盘信息,机器厂商/型号)「建议收藏」

C#获取机器信息(IPV4.IPV6.MAC.硬盘信息,机器厂商/型号)「建议收藏」

         

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188751.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用Xib封装一个view的步骤

    使用Xib封装一个view的步骤

    2021年9月1日
  • CSS3选择器 | 每个前端开发者必须要掌握的技术

    CSS3选择器 | 每个前端开发者必须要掌握的技术目录属性选择符伪类选择符CSS3属性CSS3自适应属性选择符如果能够灵活运用属性选择器,目前为止需要依靠id或class名才能实现的样式完全可以使用属性选择器来实现。E[att]{}:选择具有att属性的E元素E[att=”val”]{}:选择具有att属性且属性值等于val的E元素E[att~=”val”]{}:用于选取属性值中包含指定词汇的元素E[att|=”val…

    2022年7月27日
  • web安全概述_网络安全和web安全

    web安全概述_网络安全和web安全域名什么是域名?域名(DomainName),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。例:www.baidu.comDNS什么是DNS?域名系统(DomainNameSystem,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过2

    2022年9月20日
  • strtoul函数的使用

    strtoul函数的使用函数原型:参数1:字符串起始地址参数2:返回字符串有效数字的结束地址,这也是为什么要用二级指针的原因。参数3:转换基数。当base=0,自动判断字符串的类型,并按10进制输出,例如"0xa

    2022年8月1日
  • android WebView总结

    android WebView总结

    2021年12月17日
  • 如果正确读取SQL Server中的扩展事件?

    如果正确读取SQL Server中的扩展事件?

    2021年11月25日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号