gpt4 book ai didi

c# - 如何获得与 UnityEngine.SystemInfo.deviceUniqueIdentifier 中相同的硬件 ID?

转载 作者:行者123 更新时间:2023-12-03 08:55:26 33 4
gpt4 key购买 nike

我想在 Windows 窗体应用程序中获得与在游戏中使用 UnityEngine.SystemInfo.deviceUniqueIdentifier 时获得的相同的硬件 ID。

如何获得相同的硬件 ID?

最佳答案

我知道我迟到了,但是 Unity 的 SystemInfo::deviceUniqueIdentifier 是这样构建的:

需要:using System.Management;System.Management.dll (.NET框架)

private string GetDeviceUniqueIdentifier() {
string ret = string.Empty;

string concatStr = string.Empty;
try {
using ManagementObjectSearcher searcherBb = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard");
foreach (var obj in searcherBb.Get()) {
concatStr += (string)obj.Properties["SerialNumber"].Value ?? string.Empty;
}

using ManagementObjectSearcher searcherBios = new ManagementObjectSearcher("SELECT * FROM Win32_BIOS");
foreach (var obj in searcherBios.Get()) {
concatStr += (string)obj.Properties["SerialNumber"].Value ?? string.Empty;
}

using ManagementObjectSearcher searcherOs = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem");
foreach (var obj in searcherOs.Get()) {
concatStr += (string)obj.Properties["SerialNumber"].Value ?? string.Empty;
}

using var sha1 = SHA1.Create();
ret = string.Join("", sha1.ComputeHash(Encoding.UTF8.GetBytes(concatStr)).Select(b => b.ToString("x2")));
} catch (Exception e) {
Console.WriteLine(e.ToString());
}

return ret;
}

我对 Unity 编辑器进行了逆向工程,以找出它在 WMI 中实际查询的内容。这显然是 Windows 实现。

关于c# - 如何获得与 UnityEngine.SystemInfo.deviceUniqueIdentifier 中相同的硬件 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55809274/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com