Python实现快捷键把Android手机屏幕截图,并发送到剪切板,方便粘贴到任意位置

有个需求,需要将手机截图放到word里面,之前都是通过手机截图、然后通过微信发送到电脑,再放到word里面,非常麻烦。
这两天有空了,做了一个小脚本,完美实现了快捷功能,使用自定义快捷键(ctrl alt -)复制手机当前屏幕(按完快捷键后等待大概3秒,脚本执行),把鼠标停留在需要粘贴的位置,按ctrl v截图就粘贴过去了

需要的环境,python3.6.5, adb工具(调试android设备的)
先用usb把手机连接到电脑,并打开调试模式,终端输入adb devices,显示如下为adb连接手机成功
在这里插入图片描述
在这里插入图片描述
总共需要两个文件
下面是screenshot.py 脚本的代码

#encoding=utf8

import win32clipboard as clip
import win32con
from PIL import Image
from io import BytesIO
import os, time, sys, subprocess

'''
    往剪贴板中放入图片
'''
def setImage(data):
    clip.OpenClipboard() #打开剪贴板
    clip.EmptyClipboard()  #先清空剪贴板
    clip.SetClipboardData(win32con.CF_DIB, data)  #将图片放入剪贴板
    clip.CloseClipboard()


def screenshot(imagepath):
    ex = subprocess.Popen("adb shell /system/bin/screencap -p /sdcard/screenshot.png", shell=True, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
    ex.wait(5)
    ex2 = subprocess.Popen("adb pull /sdcard/screenshot.png %s" % imagepath, shell=True, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
    ex2.wait(5)

def convertImg(imagepath):
    img = Image.open(imagepath)
    output = BytesIO()
    img.convert("RGB").save(output, "BMP")
    data = output.getvalue()[14:]
    output.close()
    return data

def getImgPath():
    ts = time.time()
    date = time.strftime('%Y%m%d%H%M%S', time.localtime(ts))
    descimal = int((round(time.time()-int(time.time()),4) * 10000))
    dir_path = "./screenshot/%s/%s/%s/" % (date[:4], date[4:6], date[6:8])
    if not os.path.exists(dir_path):
        os.makedirs(dir_path)
    imagepath = '%s/%s.png' % (dir_path, descimal)
    return imagepath

if __name__ == '__main__':
    imagepath = getImgPath()
    screenshot(imagepath)
    # subprocess.Popen(, shell=True)
    data = convertImg(imagepath)
    setImage(data)
    

cmd运行这个脚本后,屏幕截图就已经在剪切板上了,使用ctrl V或者右键可以粘贴在word任意位置了
但是这种方式很不方便,每次截图还需要打开dos窗口执行python,有没有更简单的方式呢?

bat批处理
1、写一个批处理脚本screenshot.bat,放在python脚本同一个文件夹下,用来执行python脚本,内容如下

@echo off  
start pythonw ./screenshot.py
exit

2、右键screenshot.bat文件,发送到桌面快捷方式,在桌面找到screenshot.bat快捷方式,右键-属性-快捷键(自己输入一个,不要与已有快捷键冲突)

大功告成

成功执行一次截图后会在python脚本的同级目录下生成一个文件夹screenshot(截图都会按日期分类保存到这个文件夹下)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值