我希望电脑开机之后,自动截图,并把图片上传到私有库上。
#!/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 [email protected]: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形式。