Unity获取硬件信息

前言:unity的SytemInfo所提供的硬件信息不全面;可以使用System.Management.dll提供的接口获取需要的硬件信息。但是Mono下没有实现对应的接口,因此曲线救国,在.net应用程序中获取信息,再从unity中启动.net应用程序,获取需要的数据。

具体步骤:

1、创建控制台应用

2、 引用System.Management.dll

3、 调用所需数据的接口,获取对应数据

4、生成.exe并放在所需路径

5、在unity中启动.exe,并从中读取刚才获取的数据

    private void GetHardwareInfo(string arguments = null)
    {
        System.Diagnostics.Process p = new System.Diagnostics.Process();
        //设置.net的程序路径
        p.StartInfo.FileName = Application.dataPath + "/GetHardwareInfo.exe";
        p.StartInfo.Arguments = arguments;
        p.StartInfo.CreateNoWindow = true;
        p.StartInfo.UseShellExecute = false;
        p.StartInfo.StandardOutputEncoding = Encoding.Default;
        p.StartInfo.RedirectStandardOutput = true;
        p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
        p.Start();
        StreamReader s = p.StandardOutput;
        p.WaitForExit();
        ReadHardware(s.ReadToEnd());
        s.Close();
    }
    private void ReadHardware(string content)
    {
        //处理接收到的内容
        var infos = content.Split('\n');
        _mac = infos[0];
        logger.info($"Mac : {_mac}");
        _cpu = infos[1];
        logger.info($"Cpu : {_cpu}");
        _disk = infos[2];
        logger.info($"Disk : {_disk}");
        _bios = infos[3].Trim();
        logger.info($"Bios : {_bios}");
    }

https://zhuanlan.zhihu.com/p/35421741

感谢大神思路。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值