我想在unity中获得硬盘串行代码,但它使NotImplementedException



所以这里是问题:我想通过使用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特定的东西,考虑到它的性质。

最新更新