通过共享路径获取HDD串行

时间:2013-11-01 10:07:18

标签: c# kernel32 shared-directory

我有一个C#win form app。在其中我使用这种方法获得了一个独特的硬盘系列。

[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
  2. 时,我将EXE视为序列号
  3. 当其他人从我的共享路径运行应用时,他会将00000000作为序列号
  4. 获取
  5. 但当另一位用户映射此文件夹并运行该应用时,他将XXXXXXXX作为序列号
  6. 那么这个问题的原因是什么?有没有更好的使用方法?

    我提到WMI,但不符合我的需要。

0 个答案:

没有答案