使用 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 从/到剪贴板复制和粘贴的主要内容,如果未能解决你的问题,请参考以下文章

使用javascript将文本从div复制到剪贴板

如何使用javascript从多个div中仅复制一个DIV到剪贴板

从不同的应用程序复制和粘贴剪贴板

将所有行复制到剪贴板

win10远程桌面无法复制粘贴

无法将文本从 WKWebview 复制到剪贴板