Delphi - 如何获取Windows驱动器的总磁盘空间?
我需要获取 Delphi 程序中的总磁盘空间。
I need to get total disk space in Delphi program.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我需要获取 Delphi 程序中的总磁盘空间。
I need to get total disk space in Delphi program.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
使用 DiskSize 和 DiskFree 函数解决此问题。
ComboBox1 包含驱动器盘符列表。
Use DiskSize and DiskFree functions for this problem.
ComboBox1 contains a list of drives letters.
在这里,您还有另一个选择,使用
Win32_LogicalDisk
WMI 类Here you have another option using the
Win32_LogicalDisk
WMI class有些人可能会发现这很有用 - 它会根据卷的 DeviceID 为您提供总磁盘空间和可用磁盘空间。它也像 RRUZ 的答案一样使用 WMI,但它与 DeviceID 一起使用,因此它具有相同的优点+它也可以与未映射的设备和驱动程序(或映射到路径)一起使用。
Some may find this useful - it will give you total and free disk space by Volume's DeviceID. It also uses WMI like RRUZ's answer, but it works with DeviceID, so it has the same advantages + it also works with unmaped devices and drivers (or mapped to path).
使用此代码的最佳方法:
Best way use this code:
只是想我会根据我在接受的答案中收集的内容来分享我最终实现的解决方案:
这里一切的核心都从
GetDriveSpaceUsedPct
开始。这将返回 0 到 100 之间的浮点数,表示磁盘上可用空间的百分比。注意:在使用
Drive
参数时,请参阅有关DiskSize
和DiskFree
的文档。用法:
Just thought I'd chime in in share the solution I ended up implementing based on what I've gathered in the accepted answer:
The core of everything here starts with
GetDriveSpaceUsedPct
. This returns a float between 0 and 100 representing the percentage of space available on a disk.NOTE: Refer to the documentation for
DiskSize
andDiskFree
when it comes to using theDrive
parameter.Usage: