Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 请参阅带C的非字母硬盘#_C# - Fatal编程技术网

C# 请参阅带C的非字母硬盘#

C# 请参阅带C的非字母硬盘#,c#,C#,我正在做一个磁盘管理应用程序。我可以取出已制作的光盘。主要的问题是看什么还没有被创造出来。使它们成为一个整体和形状。我不想使用Windows的磁盘管理应用程序。我该怎么办?我所做的几乎与Windows磁盘管理应用程序相同 我尝试了WMI和驱动器信息,但我看不到尚未创建的磁盘 以下是我一直尝试的: DataTable dt = new DataTable(); dt.Clear(); dt.Columns.Add("Name"); dt.Columns.Add("Volume Label"); d

我正在做一个磁盘管理应用程序。我可以取出已制作的光盘。主要的问题是看什么还没有被创造出来。使它们成为一个整体和形状。我不想使用Windows的磁盘管理应用程序。我该怎么办?我所做的几乎与Windows磁盘管理应用程序相同

我尝试了WMI和驱动器信息,但我看不到尚未创建的磁盘

以下是我一直尝试的:

DataTable dt = new DataTable();
dt.Clear();
dt.Columns.Add("Name");
dt.Columns.Add("Volume Label");
dt.Columns.Add("Type");
dt.Columns.Add("Size");
dt.Columns.Add("Format");
dt.Columns.Add("Status");
dt.Columns.Add("Free Space");
dt.Columns.Add("Byte");

DriveInfo[] driverslist = DriveInfo.GetDrives();
foreach (DriveInfo d in driverslist)
{
    if (d.IsReady == true)
    {
        size = FormatBytes(Convert.ToInt64(d.TotalSize));
        totalfreesize = FormatBytes(Convert.ToInt64(d.TotalFreeSpace));
        dt.Rows.Add(d.Name, d.VolumeLabel, d.DriveType, size, d.DriveFormat, d.IsReady, totalfreesize, d.TotalSize);
    }
}
dataGrid.ItemsSource = dt.DefaultView;

我把硬盘拉到这里,然后把它们放到桌子上。

当你说“使它们成为单位和形状”时,你是说“格式”吗?是否尝试显示已连接但未格式化的存储设备?如果是这样,您将需要使用IOCTL函数,并且您是否尝试了所有的答案?还有相当数量的信息,你能更具体地描述一下你需要做什么,以及哪些不适用于现有代码吗?我想不出是什么问题