C#でUSB-StickまたはUSB-HardDriveの内部シリアル番号を取得するにはどうすればよいですか?
35002 次
3 に答える
33
これを試して:
// add a reference to the System.Management assembly and
// import the System.Management namespace at the top in your "using" statement.
// Then in a method, or on a button click:
ManagementObjectSearcher theSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive WHERE InterfaceType='USB'");
foreach (ManagementObject currentObject in theSearcher.Get())
{
ManagementObject theSerialNumberObjectQuery = new ManagementObject("Win32_PhysicalMedia.Tag='" + currentObject["DeviceID"] + "'");
MessageBox.Show(theSerialNumberObjectQuery["SerialNumber"].ToString());
}
于 2009-01-16T10:32:11.213 に答える
9
Win32 を使用したソリューションについては、こちらで説明しています
編集:元のリンクがなくなったようです。上記はキャッシュされたコピーであり、著者は VB.Net でいくつかのサンプル コードも書いています。これはまだここでオンラインです。
于 2009-01-16T10:59:35.463 に答える
7
Windows 7で試したすべてのUSBスティックが空白になるため、Yuval Adamが提供するソリューションに問題がありました。
現在のオブジェクトのプロパティ PNPDeviceId を見るだけでこれを解決しました。
例えば
currentObject["PNPDeviceID"].ToString();
これがどれほど有効かはわかりませんが、試した3つのUSBスティックでうまくいきました
于 2011-05-28T20:06:26.563 に答える