简介

python调用pywin32的功能,来实现剪贴板(ClipBoard)功能。

安装

python3
pywin32

pip install pywin32

如果想用系统范围的功能,例如调用COM对象、windows服务等,则需要这么安装:

python Scripts/pywin32_postinstall.py -install

复制粘贴文本

# coding=utf-8import win32clipboard as w
import win32con
import win32apidef getText():  # 读取剪切板  w.OpenClipboard()d = w.GetClipboardData(win32con.CF_TEXT)w.CloseClipboard()return ddef setText(aString):  # 写入剪切板  w.OpenClipboard()w.EmptyClipboard()w.SetClipboardData(win32con.CF_TEXT, aString)w.CloseClipboard()if __name__ == '__main__':setText("test")                                              # 将“test”写入剪切板# 自动粘贴剪切板中的内容  win32api.keybd_event(17, 0, 0, 0)                           # ctrl的键位码是17  win32api.keybd_event(86, 0, 0, 0)                           # v的键位码是86  win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0)    # 释放按键  win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)win32api.keybd_event(13, 0, 0, 0)                           # Enter的键位码是13  win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)

复制粘贴图片

# coding=utf-8import win32con
import win32clipboard
import win32gui
import win32api
import tracebackfrom PIL import Image
from cStringIO import StringIOdef setImage(data):  # 写入剪切板win32clipboard.OpenClipboard()try:# Unicode testswin32clipboard.EmptyClipboard()win32clipboard.SetClipboardData(win32con.CF_DIB, data)except:traceback.print_exc()finally:win32clipboard.CloseClipboard()if __name__ == '__main__':img = Image.open('test.jpg')output = StringIO()img.convert("RGB").save(output, "BMP")data = output.getvalue()[14:]output.close()setImage(data)pwin = win32gui.FindWindow(None, u'测试')                                   # 获取窗口句柄win32gui.ShowWindow(pwin, win32con.SW_RESTORE)win32gui.SetActiveWindow(pwin)win32gui.SetForegroundWindow(pwin)rect = win32gui.GetWindowRect(pwin)                                         # 获取窗口位置x = (rect[0] + rect[2]) / 2y = rect[3] - 50win32api.SetCursorPos((x, y))                                               # 设置鼠标位置win32api.mouse_event(0x0002, 0, 0, 0, 0)                                    # 模拟鼠标按下win32api.mouse_event(0x0004, 0, 0, 0, 0)                                    # 模拟鼠标弹起win32api.keybd_event(win32con.VK_CONTROL, 0, 0, 0)                          # ctrl的键位码是17win32api.keybd_event(86, 0, 0, 0)                                           # v的键位码是86win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0)                    # 释放按键win32api.keybd_event(win32con.VK_CONTROL, 0, win32con.KEYEVENTF_KEYUP, 0)   # 释放按键win32api.keybd_event(13, 0, 0, 0)                                           # Enter的键位码是13win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)

参考:

https://github.com/mhammond/pywin32
https://blog.csdn.net/dszgf5717/article/details/53913794

Python使用Windows剪贴板相关推荐

  1. python 与系统剪贴板的交互

    秉着浪费时间就是浪费生命的原则,先说结论: 使用 pyperclip 库 python 与系统剪贴板的交互 python下有两个库可以实现这个功能:pyperclip 和 clipboard.两个库都 ...

  2. python在windows和linux_python在windows和linux下获得本机本地ip地址方法小结

    本文实例总结了python在windows和linux下获得本机本地ip地址方法.分享给大家供大家参考.具体分析如下: python的socket包含了丰富的函数和方法可以获得本机的ip地址信息,so ...

  3. python在windows下操作word的方法的代码

    把写内容过程经常用的一些内容收藏起来,下边内容内容是关于python在windows下操作word的方法的内容,希望能对各位朋友有些好处. import win32com from win32com. ...

  4. python自动控制windows、Android的软件用来实现机器人流程自动化--RPA,外挂、自动化测试等方面的解决方案

    python自动控制windows.Android的软件用来实现机器人流程自动化--RPA,外挂.自动化测试等方面的解决方案 参考文章: (1)python自动控制windows.Android的软件 ...

  5. 微软发布的python教程_微软发布Python 教程《Develop with Python on Windows》

    微软近日上线了一套 Python 教程<Develop with Python on Windows>,文档内容包括设置 Python 开发环境.在 Windows 与 WSL 子系统中安 ...

  6. python写一个服务_写一个Python的windows服务

    1. 安装pywin32和pyinstaller pip install pywin32 pip install pyinstaller 2.写一个服务Demo # -*- coding: utf-8 ...

  7. Python常见问题(6):Python在Windows上的问题 Python on Windows FAQ

    Contents Python on Windows FAQ How do I run a Python program under Windows? How do I make Python scr ...

  8. python对windows进行操作_【转】python 操作windows下的目录

    python 操作windows下的目录 python操作目录.文件相关的函数,在os模块中,当然或许也有别的模块提供了更方便的函数 以下列出的所有函数均亲自测试过! 1.os.getcwd()    ...

  9. pydev集成mysql_【Python】Windows平台下Python、Pydev连接Mysql数据库

    Mysql数据库是跨平台的,不是说Python一定就要连接Mongodb. Python连接Mysql数据库是非常easy的. 首先,你要配置好Python的开发环境,详见<[Python]Wi ...

  10. php删除垃圾文件,Python删除windows垃圾文件的方法

    本文实例讲述了Python删除windows垃圾文件的方法.分享给大家供大家参考.具体如下: #coding:utf-8 import os #from glob import glob if os. ...

最新文章

  1. ondblog 修改informix日志模式
  2. 【XAudio2】7.如何加载音频数据文件
  3. OSChina 周三乱弹——节前综合症来袭,简直无法抵抗了
  4. 【Python实战】使用python批量生成发票
  5. 【专栏必读】王道考研408计算机组成原理万字笔记和题目题型总结(从学生角度辅助大家理解):各章节导航及思维导图
  6. 探寻完美 之 JavaScript继承
  7. TRIZ 40创新原理
  8. 2.4G RFID动物耳标解决方案 SI24R2F+
  9. android 开机自动运行程序
  10. Unite之夜|千人派对开启狂欢周末,多重惊喜为你呈现!
  11. 安卓马赛克view_Android图形图像处理:马赛克(Mosaic)效果
  12. 如何读博士-2021.06.12
  13. PC与S7 1200PLC通讯
  14. 电商详情页缓存架构(一)电商网站的商品详情页架构
  15. iPhone的解锁、越狱、激活、固件等等是什么意思,有什么分别?(转)
  16. 实现doubly-linked list搞清楚了一个内存问题
  17. 程序员的数学思维修炼
  18. 电子工业版了解计算机教案,最新版电子工业出版社小学信息技术册教学计划及教案...
  19. 125页PPT看完《华为数据之道》
  20. notes for lxf(一)

热门文章

  1. SQL中MINUS的用法
  2. 计算机报名503,503 service temporarily unavailable是什么意思【解决方法】
  3. Windows桌面图标缓存
  4. 高职高专计算机毕业论文平面设计,高职高专平面设计论文
  5. Ansys 15.0 x64 安装
  6. 2021年PAT乙级春季真题
  7. 计算机基金经理排名,2019年基金经理排行_2017年一季度 基金经理排行榜大揭秘 规模 盈利 经验...
  8. Spring Cloud之赵国的覆灭
  9. 大脚插件技能栏美化_魔兽大脚界面调整怎么用 魔兽世界大脚界面调整设置教程...
  10. 企业进行客户关系管理的重要性是什么