有时候写脚本的时候会有操作系统剪切板的需求,就是
获取剪切板中的字符串
清空剪切板
向剪切板中写入字符串
方法包括使用 tkinter , ctypes 这两个 python 标准库, 或者安装 Qt 等第三方库来操作剪切板。
ctypes 操作剪切板
先写 windows 系统下 ctypes 库如何操作剪切板吧。ctypes 这个库主要用于调用动态链接函数或共享库,使用起来比较难。
于是我在 gist 上找了一段代码,是面向对象的写法,还有一两处不兼容 python3 。略作修改后放在简书上,也许能方便有需求的人。虽然我看不太懂这段代码,但好在调用起来还挺简单的,后面会有简单的调用示例。
'''
操作剪切板:读取剪切板的字符串;清空剪切板;向剪切板中写入字符串(只能写入 ascii 字符)。
win10, python3,
'''
from ctypes import *
user32 = windll.user32
kernel32 = windll.kernel32
def get_clipboard():
user32.OpenClipboard(c_int(0))
contents = c_char_p(user32.GetClipboardData(c_int(1))).value
user32.CloseClipboard()
return contents
def empty_clipboard():
user32.OpenClipboard(c_int(0))
user32.EmptyClipboard()<