我需要能够获得分区的分区/文件系统UUID,类似于WinDOS中的VOL
和* nix中的ls -l /dev/disks/by-partuuid
,但使用C#代码。最好的方法是什么?
作为参考,我需要能够从当前目录或“最近”的安装位置获取UUID。
编辑:我的不好,应该事先说出来:它需要在Mono上运行。
答案 0 :(得分:2)
您可以为两个平台编写代码,然后根据Environment.OSVersion.Platform
在运行时决定使用哪个平台。确保在单独的方法(或类)中编写实现,这样运行时就不会尝试为错误的平台加载pinvoked库。
对于Windows,您可以使用GetVolumeInformation或WMI,如另一个答案中所述。对于linux,您可以使用您在问题中提到的目录,可能与pinvoking readlink或使用Mono.Posix程序集一起使用。
答案 1 :(得分:0)
您可能需要P / Invoke GetVolumeInformation功能。