需调用OpenClipboard(NULL)后枚举CF_HDROP格式确认文件列表存在再通过GetClipboardData获取HGLOBAL句柄用GlobalLock锁定后以DragQueryFile安全提取Unicode路径最后GlobalUnlock并CloseClipboard。Windows 平台下用 OpenClipboard EnumClipboardFormats 检查是否含文件列表系统剪切板里有没有拖入的文件路径不是靠“读文本”能判断的——得查原生格式。Windows 用 CF_HDROP 格式承载文件列表比如从资源管理器拖文件到程序但这个格式不会自动暴露为字符串必须主动枚举并确认存在。常见错误是直接调 GetClipboardData(CF_TEXT) 或 GetClipboardData(CF_UNICODETEXT)结果返回 NULL 还以为没内容其实只是格式不匹配。必须先调 OpenClipboard(NULL)否则所有操作失败且不报错静默失败接着用 EnumClipboardFormats 循环检查直到返回 0中间遇到 CF_HDROP 就说明有文件列表别跳过 CloseClipboard()否则后续其他程序可能卡住剪切板尤其在调试时反复运行容易触发用 GlobalLock DragQueryFile 提取文件路径数组确认有 CF_HDROP 后得拿到句柄再解包。这里最容易踩的坑是直接对 HGLOBAL 强转指针去解析结构——HDROP 是 Windows 封装类型内部布局不公开必须通过 DragQueryFile 安全读取。使用场景很明确用户从文件管理器拖了一堆文件到你的窗口你想知道具体路径做后续处理比如批量导入。立即学习“C免费学习笔记深入” ARTi.PiCS ARTi.PiCS是一款由AI驱动的虚拟头像生产器可以生成200多个不同风格的酷炫虚拟头像