1

ボリュームシリアルを取得するために、次のような関数を作成しました。

   string drive = Environment.ExpandEnvironmentVariables("%SystemDrive%").Replace(":", "");
   string id = getVolumeSerial(drive);

private static string getVolumeSerial(string drive)
{
    ManagementObject disk = new ManagementObject(@"win32_logicaldisk.deviceid="""
         + drive + @":""");
    disk.Get();

    string volumeSerial = disk["VolumeSerialNumber"].ToString();
    disk.Dispose();

    return volumeSerial;
}

それを含むソフトウェアを30人に展開しましたが、31のコンピューターでは、ManagementObjectの初期化が失敗し、例外が発生します。ボリュームシリアル番号を取得するためのより良い/代替/より信頼性の高い方法はありますか?

4

0 に答える 0