使用 python/win32 从/到剪贴板复制和粘贴
Posted
技术标签:
【中文标题】使用 python/win32 从/到剪贴板复制和粘贴【英文标题】:copying and pasting from/to clipboard with python/win32 【发布时间】:2011-04-19 03:45:14 【问题描述】:我从this site下载了python 2.6的win32。
这是获取/设置剪贴板的代码。
定义测试(): 打开剪贴板() d=GetClipboardData(win32con.CF_TEXT) # 获取剪贴板数据 SetClipboardData(win32con.CF_TEXT, "Hello") # 设置剪贴板数据 关闭剪贴板() 如果 __name__ == '__main__': 如果 sys.platform == 'win32': 从 win32clipboard 导入 * 导入win32gui、win32con 测试()它与 GetClipboarData 配合得很好,但 SetClipboardData 似乎不起作用,因为当我运行 test() 时,我希望用 ^V 得到“你好”,但我之前复制了一些东西。
可能出了什么问题?
【问题讨论】:
【参考方案1】:要将数据放入剪贴板,您需要打开剪贴板,然后在SetClipboardData
之前调用EmptyClipboard
。
【讨论】:
【参考方案2】:您还可以使用 pyperclip.py 模块来避免需要 win32 依赖项。它只是一个跨平台的 Python 模块,对于 Windows,它直接调用 DLL:
http://coffeeghost.net/2010/10/09/pyperclip-a-cross-platform-clipboard-module-for-python/
【讨论】:
【参考方案3】:如果不使用win32也可以,可以使用python标准库中的Tkinter,如下图:How do I copy a string to the clipboard on Windows using Python?
【讨论】:
是否可以使用 Tkinter 将数据作为 CF_html 发回?以上是关于使用 python/win32 从/到剪贴板复制和粘贴的主要内容,如果未能解决你的问题,请参考以下文章