Yeo*_*Yeo 5 python wmi winapi pywin32 disk
我尝试使用Win32_DiskDrive获取磁盘的最大总扇区,但它们都返回错误的值。我使用HxD,该程序返回准确的值。我尝试使用 fdisk 获取 Linux 中的总扇区,它也准确返回。
我注意到Win32_DiskDrive MSDN中有一条注释如下:
该属性的值是通过 BIOS 中断 13h 的扩展功能获得的。如果驱动器使用转换方案来支持高容量磁盘大小,则该值可能不准确。请咨询制造商以获取准确的驱动器规格。
但我没明白这是什么意思?以及如何解决这个问题?
这是我的 python 脚本的片段代码。
import wmi
c = wmi.WMI()
for diskDrive in c.query("SELECT * FROM Win32_DiskDrive"):
print diskDrive.Name, "\nTotal Sector: ", diskDrive.TotalSectors
Run Code Online (Sandbox Code Playgroud)
根据要求,这里是检测到 HxD 总扇区的 WMI 片段。

如果有兴趣,你也可以在自己的计算机上尝试一下,看看Win32_DiskDrive是否报告准确的结果。我在许多其他计算机(WinXP & 7)和其他存储设备(硬盘、闪存盘等)上尝试过此操作,但所有结果都不准确。
非常感谢
| 归档时间: |
|
| 查看次数: |
6636 次 |
| 最近记录: |