clipboard 具体功能模块
一些剪贴板包装功能 - 更多功能将在以后添加。
clipboard.EmptyClipboard
pywinauto.clipboard.EmptyClipboard()
clipboard.GetClipboardFormats
pywinauto.clipboard.GetClipboardFormats()
获取剪贴板中当前格式的列表
clipboard.GetData
pywinauto.clipboard.GetData(format_id=<MagicMock name='mock.CF_UNICODETEXT' id='140124667706280'>)
以请求的格式从剪贴板返回数据
clipboard.GetFormatName
pywinauto.clipboard.GetFormatName(format_id)
获取格式值的字符串名称
Pywin32 模块
以上是官方的,功能不是很全,建议使用 Pywin32 模块中的 win32clipboard , python模块详解之pywin32使用文档(python操作windowsAPI)
例子:
from PIL import Image
from io import BytesIO
import win32clipboard
import win32con
"""传入一个图片在当前计算机的位置,将图片写入剪切板"""
def clipboard(data):
try:
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardData(win32con.CF_DIB, data)
except:
import traceback
traceback.print_exc()
finally:
win32clipboard.CloseClipboard()
def copy_image(path):
image = Image.open(path)
output = BytesIO()
image.save(output, "BMP")
data = output.getvalue()[14:]
output.close()
clipboard(data)
if __name__ == '__main__':
path = r'D:\1.png'
copy_image(path)
# 之后使用 Ctrl + v 可以粘贴你的 D 盘下一张叫 1.png 的图片(除非路径没有这张图片等问题…… -_=|| )
Pywin32 还有其他的功能,可以考虑先了解一下,除非开发真需求,否则建议使用其他模块……有一些窗口需要 Pywinauto 的 connect 和 win32gui 中的 FindWindow 可以考虑搭配(先确保窗口可见的情况下,否则 FindWindow 返回 0 ,即没有找到对应的窗口句柄),请自行了解……