代码之家  ›  专栏  ›  技术社区  ›  DxCK

如何以编程方式获取linux中存储驱动器的信息(C#单声道)

  •  4
  • DxCK  · 技术社区  · 16 年前

    • 路径
    • 包含物理磁盘

    它需要支持所有常见的存储类型:硬盘、钥匙上的磁盘、CdRom、Dvd等。

    如何从C#运行良好的单声道?

    1 回复  |  直到 16 年前
        1
  •  3
  •   elad    16 年前

    这很简单。 此目录中的文件是指向/dev中设备文件的符号链接。 然后你可以找到一些关于这些的一般信息,使用gudev的单端口-你可以得到一个 here 您还需要glib-sharp来使用它,它是gtk-sharp2包的一部分(使用包管理器安装)。 在本例中使用:

    GLib.GType.Init();
    gudev.GUdevClient a=new gudev.GUdevClient(null);            
    gudev.GUdevDevice dev=a.QueryByDeviceFile("/dev/disk/by-path/--some-file--");
    Console.WriteLine (dev.GetProperty("ID_FS_TYPE")); //will output the file system, eg. ntfs
    Console.WrtieLine(dev.GetProperty("ID_FS_LABEL")); //will output the label of the disk
    

    添加对包“Mono.Posix”的引用,并使用Mono.Unix.UnixSymbolicLinkInfo类查找该文件。 例如:

    Mono.Unix.UnixSymbolicLinkInfo sym=new Mono.Unix.UnixSymbolicLinkInfo("/dev/disk/by-path/--some-file--");
    Console.WriteLine(sym.ContentsPath); //Will output something like ../../sda1
    

    更换../。。然后读取文件/etc/mtab。 文件的格式如下:

    /dev/file mountpoint stuff-you-don't-care-about
    

    推荐文章