使用Python/win32复制和粘贴剪贴板内容
我从这个网站下载了适用于Python 2.6的win32。
下面是用来获取和设置剪贴板的代码。
def test(): OpenClipboard() d=GetClipboardData(win32con.CF_TEXT) # get clipboard data SetClipboardData(win32con.CF_TEXT, "Hello") # set clipboard data CloseClipboard() if __name__ == '__main__': if sys.platform == 'win32': from win32clipboard import * import win32gui, win32con test()
用GetClipboardData这个函数可以正常工作,但SetClipboardData好像不太行。当我运行test()时,我希望能通过按^V得到“hello”,结果却是我之前复制的内容。
这可能是什么问题呢?
4 个回答
1
如果你不想使用win32的话,可以使用Python自带的Tkinter库,具体可以参考这里的内容:如何在Windows上用Python将字符串复制到剪贴板?
3
你也可以使用pyperclip.py这个模块,这样就不需要依赖win32了。这个模块只有一个,是跨平台的,也就是说在不同的操作系统上都能用。对于Windows系统,它直接调用DLL。
http://coffeeghost.net/2010/10/09/pyperclip-a-cross-platform-clipboard-module-for-python/
8
要把数据放到剪贴板里,你需要先打开剪贴板,然后在调用 SetClipboardData
之前,先用 EmptyClipboard
清空剪贴板。