copying and pasting from/to clipboard with python/win32
I downloaded the win32 for python 2.6 from this site.
This is the code to get/set the clipboard.
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开发者_如何学Go win32clipboard import * import win32gui, win32con test()
It works well with GetClipboarData, but SetClipboardData doesn't seem to work, as when I run the test(), I expect to get "hello" with ^V, but something that I copied before.
What might be wrong?
To put data in the clipboard, you want to open the clipboard, then call EmptyClipboard
before SetClipboardData
.
You can also use the pyperclip.py module to avoid requiring the win32 dependency. It's just a single python module that is cross platform, and for Windows it make DLL calls directly:
http://coffeeghost.net/2010/10/09/pyperclip-a-cross-platform-clipboard-module-for-python/
If it's OK to not use win32 you can use Tkinter in the python standard library, as shown here: How do I copy a string to the clipboard on Windows using Python?
精彩评论