路径:支持库 → 基础支持库 · 磁盘。
硬约束
- 扁平命令;容量类返回值单位以签名说明为准(常见为字节)。
- 盘符参数格式以实现为准(如
"C:"/"C:\\")。 - 移动设备插拔后列表可能变化,勿缓存过久。
- 失败时容量类命令可能返回 0 或 -1;卷信息失败返回空文本,原因见
取磁盘错误()。 弹出磁盘仅允许可移动盘与光驱;固定盘 / 网络盘 / RAM 盘会失败。监视卷变化回调在界面消息线程(可改控件);进程需有窗口消息循环。退出前建议停止监视卷变化()。
快速开始
输出(取磁盘可用空间("C:\\"))
输出(取卷标("C:\\") + " / " + 取文件系统("C:\\") + " / " + 取卷序列号("C:\\"))
输出("总线=" + 取总线类型("C:\\") + " 簇=" + 到文本(取簇大小("C:\\")))
文本 移动盘[] = 取磁盘列表(2, 真) ' 仅就绪的可移动卷
整数 盘号 = 取物理磁盘序号("C:\\")
文本 同盘卷[] = 取物理磁盘卷列表(盘号)
函数 卷变化(文本 盘符, 整数 动作) {
文本 名 = "未知"
如果 (动作 == 1) { 名 = "到达" }
如果 (动作 == 2) { 名 = "移除" }
输出(名 + " " + 盘符 + " 类型=" + 到文本(取最近卷类型()))
}
函数 主窗口.创建完毕 () {
如果 (!监视卷变化(&卷变化)) {
输出(取磁盘错误())
}
}
' 仅对可移动/光驱:
' 如果 (!弹出磁盘("E:\\")) { 输出(取磁盘错误()) }
磁盘操作
取主板序列号
- 签名:
文本 取主板序列号() - 说明:通过 WMI 依次尝试主板/BIOS/机箱/产品标识及 UUID,并跳过常见占位串。
取硬盘物理序列号
- 签名:
文本 取硬盘物理序列号([整数 磁盘序号=0]) - 说明:通过 WMI 读取物理磁盘序列号。序号通常与
取物理磁盘序号一致。
取磁盘使用率
- 签名:
小数 取磁盘使用率(文本 磁盘路径)
取磁盘列表
- 签名:
文本数组 取磁盘列表([整数 类型过滤=0], [逻辑 仅就绪=假]) - 说明:
类型过滤:0=全部,否则同取磁盘类型(2 可移动 / 3 固定 / 4 网络 / 5 光驱 / 6 RAM)。仅就绪=真时跳过未就绪卷。 - 示例:
取磁盘列表()·取磁盘列表(2, 真)
取磁盘可用空间 / 取磁盘剩余空间 / 取磁盘已用空间 / 取磁盘总容量
- 单位:字节。
取磁盘剩余空间等同于取磁盘可用空间。
取磁盘类型
- 签名:
整数 取磁盘类型(文本 磁盘路径) - 说明:
0未知,1无效,2可移动,3固定,4网络,5光驱,6RAM。
磁盘是否就绪
- 签名:
逻辑 磁盘是否就绪(文本 磁盘路径)
取卷标 / 置卷标 / 取文件系统 / 取卷序列号
- 卷标、文件系统名(NTFS/FAT32/exFAT…)、序列号
XXXX-XXXX。失败为空文本/假,见取磁盘错误。 置卷标(路径, 卷标):空卷标=清除;须有写权限,且受文件系统长度限制。
磁盘是否只读
- 签名:
逻辑 磁盘是否只读(文本 磁盘路径) - 说明:卷是否只读(如写保护)。失败返回假。
取簇大小
- 签名:
整数 取簇大小(文本 磁盘路径) - 说明:簇大小(字节)。失败返回 0。
取总线类型
- 签名:
文本 取总线类型(文本 磁盘路径) - 说明:总线提示(
USB/SATA/NVMe/网络/光驱/未知等)。作属性参考。
取物理磁盘序号
- 签名:
整数 取物理磁盘序号(文本 磁盘路径) - 说明:对应物理磁盘序号;失败
-1(网络/光驱/RAM 通常无序号)。
取物理磁盘卷列表
- 签名:
文本数组 取物理磁盘卷列表(整数 磁盘序号) - 说明:该物理磁盘上的卷盘符(多分区多项)。
弹出磁盘
- 签名:
逻辑 弹出磁盘(文本 磁盘路径) - 说明:仅可移动盘与光驱。失败见
取磁盘错误。
取磁盘错误
- 签名:
文本 取磁盘错误()
监视卷变化 / 停止监视卷变化
- 签名:
逻辑 监视卷变化(子程序指针 回调)·无 停止监视卷变化() - 说明:回调在界面消息线程;可无参或
函数 名(文本 盘符, 整数 动作)。动作:1到达,2移除。
取最近卷盘符 / 取最近卷动作 / 取最近卷类型
- 最近一次卷变化事件的盘符、动作、磁盘类型。
易错对照
| 错误 | 正确 |
|---|---|
取磁盘剩余空间 |
推荐 取磁盘可用空间 |
对 C: 调用 弹出磁盘 |
仅可移动/光驱 |
| 用总线类型当唯一过滤 | 配合 取磁盘类型 / 列表过滤 |
| 插拔后仍用旧盘符 | 重新 取磁盘列表 或以事件盘符为准 |
| 网络盘取物理序号 | 通常返回 -1,属正常 |