正在编写的程序用的很多Windows下的操作,查了很多资料。看到剪切板的操作时,想起以前想要做的一个小程序,当时也没做,现在正好顺手写完。

功能:按printscreen键进行截图的时候,数据保存在剪切板里面,很不方便。比如游戏的时候截一个瞬间的图片,但你不能退出游戏保存图片,不方便多次截图。而我也不喜欢安装各种软件,所以准备写这个工具。

思路:一个是自定义快捷键,截图,保存。考虑到很可能各种冲突,取消。然后还是用按printscreen来截图,然后从剪切板读取图片数据,保存。想法是,先监听键盘按键,当printscreen按键时,读取剪切板内容,最后保存图片到指定位置。

1 监听键盘按键:从网上找到资料,安装pywin32,pyhook。链接:http://sourceforge.net/projects/pyhook/,http://sourceforge.net/projects/pywin32/。教程:http://sourceforge.net/apps/mediawiki/pyhook/index.php?title=PyHook_Tutorial。

2 读取剪切板内容,也是需要pywin32.文档在:[Pythonpath]\Lib\site-packages\PyWin32.chm,在线的:http://timgolden.me.uk/pywin32-docs/index.html

文档中给出的几种格式都不是图片保存的数据,Google搜索“Standard Clipboard Formats”,链接:http://msdn.microsoft.com/en-us/library/windows/desktop/ff729168%28v=vs.85%29.aspx,所有的格式,主要就是1-17.

好在文档中有一个函数:GetPriorityClipboardFormat,可以返回剪切板中的格式,从一个迭代器中。于是手动输入找到了,y有时为6,win32con.CF_TIFF,还会为2。当然这里直接用返回数据就行了,不需要知道是什么。

主要用到:

OpenClipboard,CloseClipboard,GetPriorityClipboardFormat,GetClipboardData,这几个函数文档都有介绍,主要说说CloseClipboard,官方文档上讲,不要在剪切板里放置对象后调用CloseClipboard。

3 保存图片:

到这里发现可以直接用PIL模块,直接解决问题,上面太曲折T_T。

可以直接使用ImageGrab.grab() 进行抓屏,或者使用ImageGrab.grabclipboard()从剪切板获取图像。

最后变成,监听按键,按下printscreen后,用pil截图保存。T_T 感觉还不如设置快捷键,这样应该少占用内存。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

python如何屏幕截图_Python编写屏幕截图程序方法相关推荐

  1. python 编程接口_python编写接口的方法

    python编写接口的方法 发布时间:2020-08-06 10:33:18 来源:亿速云 阅读:64 作者:小新 小编给大家分享一下python编写接口的方法,希望大家阅读完这篇文章后大所收获,下面 ...

  2. python 打包exe_将python文件打包exe独立运行程序方法详解

    首先需要安装pyinstaller库. pip install pyinstaller exe程序打包步骤 cmd 进入要编译的python文件所在的文件夹, 然后 pyinstaller -F he ...

  3. python截图拼接_Python实现屏幕截图有两种方式 - 小众知识

    使用windows API 使用PIL中的ImageGrab模块 下面对两者的特点和用法进行详细解释. 一.Python调用windows API实现屏幕截图 好处是灵活 速度快 缺点是:写法繁琐 不 ...

  4. python是什么语言编写的程序称为_Python 学习(一)【Python语言简介-Python是什么】...

    Python是一种编程语言,它的名字来源于一个喜剧.也许最初设计Python这种语言的人并没有想到今天Python会在工业和科研上获得如此广泛的使用. Python是什么(转载自Primus) 著名的 ...

  5. python扩展屏幕截图_Python实现屏幕截图的两种方式

    Python实现屏幕截图的两种方式 使用windows API 使用PIL中的ImageGrab模块 下面对两者的特点和用法进行详细解释. 一.Python调用windows API实现屏幕截图 好处 ...

  6. python动态捕捉屏幕_Python实现屏幕截图的两种方式

    使用windows API 使用PIL中的ImageGrab模块 下面对两者的特点和用法进行详细解释. 一.Python调用windows API实现屏幕截图 好处是 灵活 速度快 缺点是: 写法繁琐 ...

  7. python计算器小程序源码_python编写计算器程序-python代码编写计算器小程序

    本文实例为大家分享了python计算器小程序的具体代码,供大家参考,具体内容如下 import tkinter import tkinter.messagebox import math class ...

  8. python 当前路径 搜索路径图某一个不包含_python编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径...

    解决思路 对于像我这种刚开始入门计算机的人,解决问题最关键的是思路的学习,很多时候代码,一看就懂,一写就废. 像这个题目,我们可以用程序的思维,一步一步去解决,将问题细分,细分成你能够解决的问题然后再 ...

  9. python用户名密码_Python编写密码登录程序

    要求: 用户名(_username): Python 用户密码(_passwd): python123 用户收到提示后分别输入用户名和密码,如果输入错误则返回:Invalid username or ...

最新文章

  1. 恕我直言,有了这款IDEA插件,你可能只需要写30%的代码...
  2. poj3686(最小费用流)
  3. 3指南针旋转_Qt编写自定义控件6-指南针仪表盘
  4. 数值分析之数值稳定性篇
  5. ios开发多线程篇--异步加载网络图片GCD
  6. 中国全装修行业发展形势及投资决策建议报告2022版
  7. 得到当前堆栈信息的两种方式(Thread和Throwable)的方法
  8. 牛津英语3a_空中课堂 | 牛津英语学霸笔记3A M3U2
  9. zigbee ZIGBEE_FRAGMENTATION
  10. 分治3--黑白棋子的移动
  11. MySQL入门之大纲
  12. JS中对于prototype的理解
  13. Linux中如何针对用户及组设置磁盘配额
  14. nodejs模块demo: request-promise-native tough-cookie
  15. Excel表格数据生成ECharts图表
  16. Visual Studio中#includestdafx.h的作用
  17. opencv鱼眼相机模型详解
  18. iPhone4S、iPod5代、iPad2、iPad3、mini1代完美绕激活工具Sliver发布全新6.0版,支持工厂激活FMI OFF
  19. mdk ac6 CLANG
  20. word无法创建工作文件,请检查临时环境变量

热门文章

  1. Linux下不停止服务,清空nohup.out文件
  2. 【官方方法】MacBook2017 双系统恢复macOS High Sierra
  3. LightOJ1245 Harmonic Number (II) —— 规律
  4. Android ImageView ScaleType:图解
  5. HTML的语义化和一些简单优化
  6. 数据引用Data References
  7. 使用OpenCV的分水岭算法
  8. JS基础 - - if 练习二
  9. vi/vim文本编辑器的使用
  10. 中国物联网潜力巨大 还需加快投资节奏