扩展库 / clipboard
clipboard
读取与写入 Windows 剪贴板中的 UTF-8 文本、文件列表和 BMP 图片,并检查格式或保存临时快照。
版本 0.1.0 · Windows 专用 · C / xlang
快速开始
import clipboard
auto saved = clipboard.snapshot()
assert saved.valid()
assert clipboard.set_text("临时内容")
assert saved.restore()
saved.release()
快照是拥有型对象,可多次恢复,析构时自动释放;release() 可提前释放。写入操作会改动当前 Windows 剪贴板,测试时请使用隔离环境。
接口
| 入口 | 用途 |
|---|---|
get_text / set_text / has_text | 读取、写入和检测 UTF-8 文本。 |
get_files / set_files / has_files | 处理路径列表,xlang 侧路径使用 UTF-8。 |
set_image / save_image / image_info_json | 导入或导出 BMP 图片,并读取尺寸与格式。 |
formats / formats_json / format_name | 枚举和查询剪贴板格式。 |
snapshot / Snapshot.restore / Snapshot.release | 独立保存可复制的格式并按需恢复,支持位图与增强/传统元文件。 |
last_error | 紧接着 clipboard 调用读取当前线程的错误类别。 |
C 程序可包含 extlibs/clipboard/include/clipboard.h。C 快照由调用方用 x_clipboard_snapshot_release 释放;文本、JSON 和其他 xvalue* 结果均由调用方用 xrtValueRelease 释放,不借用包内线程缓冲区。
验证与边界
powershell -NoProfile -ExecutionPolicy Bypass -File extlibs/clipboard/test/check.ps1 -SkipAot
2026-10-26 当前 Windows 默认门禁先通过严格 C、隔离图形快照、C 范例直跑和独立 EXE,以及只读语言用例;随后合法语言字符串数组传入 set_files 返回 false,原生 C 的同形数组可成功写入。默认门禁保留这条隔离正例并报红,完整语言/AOT 尚未验收,不签收发布级。120 字符中文注册格式名与 GDI 快照、NUL 拒绝、FLS 生命周期的历史专项证据仍见包内 README;快照限制为 256 个格式、256 MiB,恢复并非跨格式事务。
2026-10-21:公开综合范例改用独占临时文件,仅在快照有效后写入剪贴板,退出时恢复并释放;独立 window station 门禁确认原文本不变。不存在的 BMP 输入在 XLang 层抛 FileError,而非返回 false。完整 AOT 仍受主线缺符号阻断。