2

現在、WMI クエリを使用して、コンピュータに接続されているすべてのハード ディスクの製造元名を返しています。残念ながら、これは具体的には「Intel」または「Western Digital」を返さないため、string.Contains() を使用してメーカーを比較しています。簡単な形式の私のコードは次のとおりです。

        //*** Declare Management Class
        ManagementClass clsMgtClass = new ManagementClass("Win32_DiskDrive");
        ManagementObjectCollection colMgtObjCol = clsMgtClass.GetInstances();

        //*** Loop Over Objects

        foreach (ManagementObject objMgtObj in colMgtObjCol)
        {
            MessageBox.Show(objMgtObj.Properties["Manufacturer"].Value.ToString());
        }

これは、名前全体を返すために WMI に依存しているため、おそらく 60% の確率で機能します。たとえば、私のハード ドライブは「SanDisk SDSSDX240GG25 ATA デバイス」として返されますが、これは「SanDisk」を簡単に見つけることができるため問題ありません。同様に、Western Digital 製品は「WD3000USB」などのように表示され、「WD」がはっきりとわかります。ただし、Seagate ドライブを使用する別のコンピューターでは、SE1000GXB 何とか何とかがあり、メーカーの実際の表示はありません。私の質問は、Google スクリプトまたはデータベースを介してモデル番号を照会する手間をかけずに、ハード ドライブの製造元を確実に見つけ、製造元を簡単に区別できるようにするにはどうすればよいかということです。ありがとう。別の編集: メンバー「キャプション」を使用すると、上記の例が返されます。

4

1 に答える 1