[ad_1]
ハードディスクのモデル名とそのシリアル番号が必要です
クラス HardDrive のアセンブリを追加できませんでした (コードの行 A を参照)
System.Management への参照を追加しました
私が試したこと:
private string GetModelAndSerialNumberOfHardDisk() { string HradDiskModelName, HradDiskSerialNumber; ManagementObjectSearcher searcher = null; searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive"); //DriveInfo[] allDrives = DriveInfo.GetDrives(); foreach (ManagementObject wmi_HD in searcher.Get()) { HardDrive hd = new HardDrive();//<==== Line A Error HradDiskModelName = hd.Caption = wmi_HD["Caption"].ToString(); HradDiskSerialNumber = (hd.SerialNo = wmi_HD.GetPropertyValue("SerialNumber").ToString()); return (HradDiskModelName + "#"+ HradDiskSerialNumber); } return ("-1"); }
解決策 1
HardDrive は、独自に提供する必要があるクラスです。
標準アセンブリには含まれていません。
ここを見てください: C#でハードドライブのシリアル番号を取得する方法[^]
解決策 2
以下は、選択された情報を返す必要があります。 必要な WMI クラスにアクセスするには、昇格されたアクセス許可でアプリケーションを実行する必要がある場合があります。
using System.Management; public static void GetModelAndSerialNumberOfHardDisk() { ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive"); foreach (ManagementObject drive in searcher.Get()) { string modelName = (string)drive["Model"]; string serialNumber = (string)drive["SerialNumber"]; Console.WriteLine($"Model Name: {modelName}"); Console.WriteLine($"Serial Number: {serialNumber}"); } }
GetModelAndSerialNumberOfHardDisk() メソッドを呼び出すだけです。
[ad_2]
コメント