如何使用剪贴板操作复制/剪切/粘贴文件(ctrl-c / ctrl-v)

时间:2011-02-16 13:15:07

标签: python winapi copy-paste pywin32

尝试使用win32clipboard对文本执行复制粘贴操作(到现在为止),并且能够轻松完成。但现在我想知道如何通过文件夹/文件等完成复制/粘贴操作那。我正在使用python来实现同样的目标。也无法找到任何相关的格式。是否类似文件路径被复制,然后粘贴操作将剪贴板数据识别为文件路径然后实际执行文件复制?不知道:(。

2 个答案:

答案 0 :(得分:0)

Windows复制/粘贴将内容存储为OLE对象(http://en.wikipedia.org/wiki/Object_Linking_and_Embedding) 你需要一个python包来处理OLE。这个主题可能会有所帮助 - How do I script an OLE component using Python?

答案 1 :(得分:0)

将shell对象(例如文件或文件夹)复制到剪贴板时,shell会以各种不同的格式将数据放入剪贴板。此类操作的剪贴板查看器显示以下格式:

enter image description here

老实说,当你随后粘贴时我不知道使用了哪一个,但我的猜测是Shell IDList Array。关键是文件和文件夹不会进入剪贴板,只会引用它们。

我相信MSDN: Shell Clipboard Formats上有详尽的文档。

这应该给你足够的方向来进一步搜索Python包装器到这样的功能(我相信它们会存在)!