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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql中的union和order by、limit

    mysql中的union和order by、limit

    2021年10月15日
    49
  • MYSQL 数据库引擎

    MYSQL 数据库引擎MySQL 数据库引擎取决于 MySQL 在安装的时候是如何被编译的 要添加一个新的引擎 就必须重新编译 MYSQL 在缺省情况下 MYSQL 支持三个引擎 ISAM MYISAM 和 HEAP 另外两种类型 INNODB 和 BERKLEY BDB 也常常可以使用 如果技术高超 还可以使用 MySQL API 自己做一个引擎 下面介绍几种数据库引擎 nbsp nbsp nbsp ISAM ISAM 是一个定义明确且历经时间考验

    2025年9月13日
    2
  • PHP之与或非_php字符串运算符

    PHP之与或非_php字符串运算符在程序运算中,数值都是转换成机器码(二进制)再进行加的,而与或非就是建立这这种基础上,以二进制进行运算。与$1$0=0或|1|0=1非~~1=0

    2022年10月11日
    1
  • leetcode-17电话号码的字母组合(回溯)[通俗易懂]

    leetcode-17电话号码的字母组合(回溯)[通俗易懂]原题链接给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = “23”输出:[“ad”,”ae”,”af”,”bd”,”be”,”bf”,”cd”,”ce”,”cf”]示例 2:输入:digits = “”输出:[]示例 3:输入:digits = “2”输出:[“a”,”b”,”c”] 提示:0 <= digits.le

    2022年8月8日
    5
  • 解读windows认证

    0x00前言dll劫持的近期忙,没时间写,先给大家写个windows认证的水文。0x01windows认证协议windows上的认证大致分为本地认证,ntlm协议,和Kerberos协议。

    2021年12月11日
    60
  • 初学java,遇到的陌生词语(1)

    初学java,遇到的陌生词语(1)

    2021年9月16日
    48

发表回复

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

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