YStudio Y++

磁盘(基础支持库)

Y++ / YStudio 开发文档 · 一点滴

路径:支持库 → 基础支持库 · 磁盘。

硬约束

  1. 扁平命令;容量类返回值单位以签名说明为准(常见为字节)。
  2. 盘符参数格式以实现为准(如 "C:" / "C:\\")。
  3. 移动设备插拔后列表可能变化,勿缓存过久。
  4. 失败时容量类命令可能返回 0 或 -1;卷信息失败返回空文本,原因见 取磁盘错误()。
  5. 弹出磁盘 仅允许可移动盘与光驱;固定盘 / 网络盘 / RAM 盘会失败。
  6. 监视卷变化 回调在界面消息线程(可改控件);进程需有窗口消息循环。退出前建议 停止监视卷变化()。

快速开始

输出(取磁盘可用空间("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,属正常

相关

系统操作 · 文件操作 · 文件监视 · 设备类