当前位置:网站首页>pyhook3简单应用(1)--实现截图保存功能
pyhook3简单应用(1)--实现截图保存功能
2022-08-09 13:07:00 【论一个测试的养成】
1.安装
【1】首先安装swging :http://www.swig.org/download.html
【2】安装vc++相关:https://blog.csdn.net/qq_38161040/article/details/88203864
【3】pip3 install pyHook3
2.应用
from PIL import ImageGrab
import pythoncom
import PyHook3
import sys
from ctypes import *
QUIT_WORD="EXIT"
QUIT_CONT=QUIT_WORD
N = 0
current_window = None
def OnKeyboardEvent(event):
global current_window, QUIT_WORD, QUIT_CONT, path, N
# 检测目标窗口是否转移(换了其他窗口就监听新的窗口)
if event.Window != current_window:
current_window = event.Window
# 所以调用底层API喊来获取窗口标题
windowTitle = create_string_buffer(512)
windll.user32.GetWindowTextA(event.Window,byref(windowTitle),512)
windowName = windowTitle.value.decode('gbk')
print("窗口名:%s" % windowName)
print("窗口ID:%s" % event.Window)
# 检测击键是否常规按键(非组合键等)
if event.Key == "Escape":
im = ImageGrab.grab()
filename = str(N) + '.png'
im.save(filename)
N += 1
# 判断退出监听指令符
if (event.Key == QUIT_WORD[0]):
QUIT_WORD = QUIT_WORD[1:]
if (len(QUIT_WORD) == 0):
sys.exit()
return False
else:
QUIT_WORD = QUIT_CONT
# 循环监听下一个击键事件
return True
if __name__ == '__main__':
ph = PyHook3.HookManager()
ph.KeyDown = OnKeyboardEvent #绑定键盘事件
# 注册hook并执行
ph.HookKeyboard()
pythoncom.PumpMessages()
边栏推荐
- The FPGA - work summary recently
- Record the system calls and C library functions used in this project-2
- NC96 判断一个链表是否为回文结构
- 昇腾AI开发者创享日南京站!一起CANN机器狗+AI机械臂实现硬核智慧救援!燃爆现场~
- GIN初探,环境安装
- FFmpeg multimedia file processing (ffmpeg prints audio and video Meta information)
- telnet+ftp to control and upgrade the device
- pytest 之 重运行机制与测试报告
- TCP三次握手和四次挥手及拥塞控制
- 2.微服务'黑话'集锦及Eureka注册中心相关概念
猜你喜欢
随机推荐
【奖励公示】第23期 2022年7月奖励名单公示:社区明星评选 | 新人奖 | 博客同步 | 推荐奖
RobotFramework 之 数据驱动
NC15 求二叉树的层序遍历
Sandbox中的进程/线程相关-1
ArcEngine(十)创建矢量图层
The sword refers to Offer 56 - II. Number of occurrences of a number in an array II (bit operation)
pytest 筛选用例
javscript基础易错点集合
面试攻略系列(三)-- 高级开发工程师面试问些啥?
七夕力扣刷不停,343. 整数拆分(剑指 Offer 14- I. 剪绳子、剑指 Offer 14- II. 剪绳子 II)
RTSP协议讲解
Process/Thread related in Sandbox - 1
蓝桥历届真题-门牌制作
自己做了个nodejs+epxress+mysql的小项目,怎么才能让别人通过互联网访问呢?
微服务+微信小程序实现社区服务
pytest 基础认知
How to solve the 0x80070005 error when the computer is reinstalled and the system is restored
telnet+ftp to control and upgrade the device
RobotFramework 之 Evaluate
音视频录入的pts和dts问题