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