我有一个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")
工作正常,但情况是这样;
XXXXXXXX
EXE
视为序列号
00000000
作为序列号XXXXXXXX
作为序列号那么这个问题的原因是什么?有没有更好的使用方法?
我提到WMI,但不符合我的需要。