C# ManagementObject返回错误的总扇区数
此代码给出了错误的扇区数。C# ManagementObject返回错误的总扇区数,c#,C#,此代码给出了错误的扇区数。 我有3个磁盘: 0. 468.862.128 sectors - program shows 7.887.915 1. 3.907.029.168 sectors - program shows 3.907.024.065 2. 7.897.088 sectors - program shows 468.857.025 int driveCount = 0; try { Management
我有3个磁盘:
0. 468.862.128 sectors - program shows 7.887.915
1. 3.907.029.168 sectors - program shows 3.907.024.065
2. 7.897.088 sectors - program shows 468.857.025
int driveCount = 0;
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject queryObj in searcher.Get())
{
if (driveCount == drive)
{
var t = queryObj["TotalSectors"];
return long.Parse(t.ToString());
}
driveCount++;
}
}
catch (ManagementException)
{
return -1;
}
return -1;
看起来有些地方大小不一,但值也略有不同,这是错误的
int driveCount = 0;
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_DiskDrive");
driveCount = searcher.Get().Count - 1;
foreach (ManagementObject queryObj in searcher.Get())
{
if (driveCount == drive)
{
var t = queryObj["TotalSectors"];
return long.Parse(t.ToString());
}
driveCount--;
}
}