在WPF中,可以通过使用ManagementObjectSearcher类来获取电脑的硬件信息,包括mac地址。然后使用Json.NET库将这些信息转换为JSON格式,并保存到名为pc.info的文件中。

首先,需要在项目中安装Newtonsoft.Json包,可以通过NuGet包管理器来安装。

然后,可以按照以下步骤编写代码:

  1. 在XAML文件中添加一个按钮,用于生成并保存硬件信息的JSON文件。例如:
<Button Content='Generate Hardware Info' Click='GenerateHardwareInfo_Click' />
  1. 在对应的.cs文件中,编写按钮点击事件的处理方法。例如:
using System.Management;
using Newtonsoft.Json;

private void GenerateHardwareInfo_Click(object sender, RoutedEventArgs e)
{
    // 使用ManagementObjectSearcher类获取硬件信息
    ManagementObjectSearcher searcher = new ManagementObjectSearcher('SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'TRUE'');
    ManagementObjectCollection collection = searcher.Get();

    // 创建一个对象来存储硬件信息
    var hardwareInfo = new
    {
        MacAddress = GetMacAddress(collection)
        // 其他硬件信息属性可以在这里添加
    };

    // 将硬件信息转换为JSON字符串
    string json = JsonConvert.SerializeObject(hardwareInfo);

    // 保存JSON字符串到文件
    string filePath = 'pc.info';
    File.WriteAllText(filePath, json);
}

private string GetMacAddress(ManagementObjectCollection collection)
{
    foreach (ManagementObject obj in collection)
    {
        if (obj['MacAddress'] != null)
        {
            return obj['MacAddress'].ToString();
        }
    }

    return string.Empty;
}

在上述代码中,GetMacAddress方法用于从ManagementObjectCollection中获取第一个非空的Mac地址。根据需要,可以在hardwareInfo对象中添加其他所需的硬件信息属性。

最后,当点击按钮时,将生成的硬件信息保存到名为pc.info的文件中。文件将保存在项目的根目录下。

WPF获取电脑硬件信息并生成JSON文件

原文地址: https://www.cveoy.top/t/topic/qFLM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录