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如何设计索引更高效?

    阿里面试官:MySQL如何设计索引更高效?这么问,我是真的没想到。。。

    2022年8月31日
    4
  • 微信小程序开发框架和工具库推荐

    微信小程序开发框架和工具库推荐

    2022年3月13日
    123
  • JAVA的使用_Java集成开发环境

    JAVA的使用_Java集成开发环境IDE是集成开发环境:IntegratedDevelopmentEnvironment的缩写。使用IDE的好处在于按,可以把编写代码、组织项目、编译、运行、调试等放到一个环境中运行,能极大地提高

    2022年8月4日
    5
  • 软件测试笔记总结(探灵笔记手机版下载教程)

    软件测试复习(部分)概述程序+文档+数据=软件狭义的软件测试定义:为发现软件缺陷而执行程序或系统的过程广义的软件测试定义:人工或自动地运行或测定某系统的过程,目的在于检验它是否满足规定的需求或弄清预期结果和实际结果间的差别为什么要做软件测试发现软件缺陷功能错功能遗漏超出需求部分(画蛇添足)性能不符合要求软件质量高低:是否符合用户习惯、符合用户需求测试…

    2022年4月15日
    102
  • MFC入门教程(深入浅出MFC)

    以下是我从其他网站中学的内容,后有相应的网站学习链接地址,可供学习1.选择菜单项File->New->Project,弹出“NewProject”对话框。 2.左侧面板中InstalledTemplated的VisualC++下选择MFC,中间窗口中选择MFCApplication,然后在下面的Name编辑框中键入工程名称,本例取名“Addition”,在Location编

    2022年4月18日
    267
  • Git使用流程_git提交流程

    Git使用流程_git提交流程以coding为例,演示如何使用git首先理解下整个流程,如图一,将本地代码上传到远程仓库1.(电脑里得先下载git)登录coding,新建一个仓库,点击代码浏览可以看到2.在本地新建一个文件夹,作为项目根目录,再此启动GitBash,进入目录,并输入gitinit初始化一个本地git仓库3.将本地仓库和我们在coding上创建的远程仓库对接起来,输入gitre…

    2022年9月23日
    4

发表回复

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

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