使用python/win32复制粘贴到/到剪贴板

问题描述:

我从this site下载了python 2.6的win32。使用python/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() 

它与GetClipboarData运作良好,但SetClipboardData似乎不工作,当我运行测试(AS),我希望得到“你好”与^ V的事,但我之前复制。

什么可能是错误的?

要将数据放入剪贴板,您需要打开剪贴板,然后在SetClipboardData之前拨打EmptyClipboard

是否确定不使用win32的,你可以在Python标准库使用Tkinter的,如下所示:How do I copy a string to the clipboard on Windows using Python?

+0

是尽可能使用Tkinter的CF_HTML发回的数据? – JinSnow 2017-01-16 21:22:49

您还可以使用pyperclip.py模块,以避免要求的win32依赖。这只是一个单一的Python模块是跨平台的,和Windows这使DLL直接调用:

http://coffeeghost.net/2010/10/09/pyperclip-a-cross-platform-clipboard-module-for-python/