所以这里是问题:我想通过使用unity 2020.3获得硬盘串行代码,所以我使用代码:
using System.Management;
public string GetHarddiskSerial()
{
string serial_number = "";
**ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");**
// This line makes error
foreach (ManagementObject wmi_HD in searcher.Get())
{
serial_number = wmi_HD["SerialNumber"].ToString();
Console.WriteLine("Harddisk Serial : " + serial_number);
}
return serial_number;
}
但是出现错误,无法播放
NotImplementedException:该方法或操作未实现。System.Management.ManagementObjectSearcher . .男星(系统。字符串queryString) (at:0)(wrapper remoting-invoke-with-check) system . management . managementtobjectsearcher . tor(string)
我试着找到System.Management.dll并把它放在(项目名称)/Assets/Plugin文件夹中,但它不起作用。
其次,我把dll也放在C:Program FilesUnityHubEditor2020.3.9f1EditorDataMonolibmono2.0。
我的最终目标是获得统一的硬盘串行代码,所以如果你有一个解决方案,可以获得串行代码,请告诉我。
你需要调用Unity之外的应用程序来运行这些查询(在windows上)使用System.Diagnostics.ProcessWindowStyle.Hidden
https://learn.microsoft.com/en us/dotnet/api/system.diagnostics.processwindowstyle?view=net - 7.0
我怀疑mono没有实现windows特定的东西,考虑到它的性质。