【脚本】自动截图并上传

1. 问题描述

我希望电脑开机之后,自动截图,并把图片上传到私有库上。

2. code

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os, win32gui, win32ui, win32con, win32api 
from PIL import Image
import time
# Install pymouse
#  git clone https://github.com/PyUserInput/PyUserInput
#  cd PyUserInput && python setup.py install
import pymouse

#hidden_arrow = (1110, 746)
icon = (1097,748)

def display_gui(pts):
    m = pymouse.PyMouse()
    for pt in pts:
        m.click(pt[0], pt[1], 1, 1)
        time.sleep(1)

def window_capture(): 
    # create capture
    hwnd = 0
    hwndDC = win32gui.GetWindowDC(hwnd)  
    mfcDC=win32ui.CreateDCFromHandle(hwndDC)  
    saveDC=mfcDC.CreateCompatibleDC()  
    saveBitMap = win32ui.CreateBitmap()  
    MoniterDev = win32api.EnumDisplayMonitors(None,None) 
    w = MoniterDev[0][2][2] 
    h = MoniterDev[0][2][3] 
    saveBitMap.CreateCompatibleBitmap(mfcDC, w, h)  
    saveDC.SelectObject(saveBitMap)  
    saveDC.BitBlt((0,0),(w, h) , mfcDC, (0,0), win32con.SRCCOPY) 
    cc=time.gmtime() 
    bmpname=str(cc[0])+'_'+str(cc[1])+'_'+str(cc[2])+'_'+str(cc[3]+8)+'_'+str(cc[4])+'_'+str(cc[5])+'.bmp'
    saveBitMap.SaveBitmapFile(saveDC, bmpname) 
    # convert to jpg
    Image.open(bmpname).save(bmpname[:-4]+".jpg") 
    os.popen('rm {}'.format(bmpname))
    return bmpname[:-4]+'.jpg'

def run(cmd_str):
    print(cmd_str)
    p = os.popen(cmd_str)
    ret = p.read()
    if len(ret) > 0:
        print(ret)

def push(imgfile):
    # clone reps
    if not os.path.exists('teamviewer'):
        run('git clone git@git.oschina.net:duino/teamviewer.git')


    # mv imgfile to reps
    run('cd teamviewer && git pull')
    run('cd teamviewer && git rm *.jpg')
    run('mv {} teamviewer/'.format(imgfile))

    # push
    run('cd teamviewer && git add .')
    run('cd teamviewer && git commit -m \"update\"')
    run('cd teamviewer && git push')

    print('Success')

def main():
    # open teamviewer
    display_gui([icon])
    # capture
    imgfile = window_capture()
    # send to git.oschina.net
    push(imgfile)

if __name__ == '__main__':
    main()

bat脚本

C:\\Users\\Duino\\Downloads\\cmder\\vendor\\git-for-windows\\bin\\bash.exe -c "python C:/Users/Duino/Desktop/workspace/python/sendpwd.py"

由于python脚本中用到了git,rm,mv等命令,需要使用bash运行python。

再把这个bat添加到开机启动项里,即可完成。

另外,git push不用输密码,需要配置成ssh形式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值