嗨,我查看了 WMI 类...但没有人可以帮助我获取分区表信息...现在我有一个项目要显示 USB 拇指驱动器的 .MBR 我应该如何处理它?真的很困惑...任何帮助和指导将非常感谢!
附:代码只能用C#编写
编辑
谢谢!我浏览过 CreateFile 文档...仍然想知道如何使用 P/Invoke 调用 CreateFile 并读取引导扇区(显示 .MBR )?您有这部分的引用代码吗?再次感谢您!!
最佳答案
如果您愿意,可以使用 WMI 获取有关任何驱动器的信息。为此,您需要查询相应的 WMI 类。对于 C#,您必须添加这些引用:
System.Management
和使用语句:
using System.Management;
要获取连接到您计算机的磁盘信息,您可以使用以下查询:
Select * From Win32_DiskDrive
使用 C#,您可以这样查询:
SelectQuery wmi_sorgusu = new SelectQuery("Select * from Win32_DiskDrive");
ManagementObjectSearcher wmi_bulucu = new ManagementObjectSearcher( wmi_sorgusu );
foreach (ManagementObject wmi_nesne in wmi_bulucu.Get()) {
Console.WriteLine(wmi_nesne.GetPropertyValue( "DeviceID" ).ToString());
Console.WriteLine(wmi_nesne.GetPropertyValue( "InterfaceType" ).ToString());
Console.WriteLine(wmi_nesne.GetPropertyValue( "Caption" ).ToString());
Console.WriteLine(wmi_nesne.GetPropertyValue( "Status" ).ToString());
Console.WriteLine(wmi_nesne.GetPropertyValue( "MediaLoaded" ).ToString());
//... etc
}
获取设备参数后,可以使用同样的方法查询Win32_DiskPartition WMI Class。您可以将设备参数作为 WHERE 子句提供给 SELECT 查询。对 Win32_DiskPartition 的查询返回连接到系统的所有驱动器的所有分区。
关于c# - 我应该如何使用C#读取分区表/引导扇区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/411304/