1

私は C# win フォーム アプリを持っています。その中で、このメソッドを使用して、HDD の固有のシリアルを取得しています。

[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
        public static extern bool GetVolumeInformation(string Volume, StringBuilder VolumeName,
            uint VolumeNameSize, out uint SerialNumber, uint SerialNumberLength,
            uint flags, StringBuilder fs, uint fs_size);

ボリューム変数をPath.GetPathRoot(Environment.CurrentDirectory)

シリアルを次のように取得しますSerialNumber.ToString("X")

正常に動作しますが、状況は次のとおりです。

  1. アプリフォルダーを共有しました。XXXXXXXX実行するとシリアルになりますEXE
  2. 別の人が私の共有パスからアプリを実行すると、彼は00000000シリアルとして取得します
  3. しかし、その別のユーザーがこのフォルダーをマップXXXXXXXXしてアプリを実行すると、彼はシリアルとして取得します

では、この問題の原因は何ですか?何か良い使い方はありませんか?

WMIを紹介しましたが、私のニーズには合いませんでした。

4

0 に答える 0