前言

机房里新的广播服务器有几个软件重启的时候需要手动启动,放入启动文件夹只能启动程序本体,但是服务还是需要手动启动,而且机房的键盘容易卡住,鼠标延迟严重,有误操作的可能,所以我写了个小工具自动启动。
主要使用pyautoui这个库进行屏幕图像识别及自动操作。

代码

#-*- coding:utf-8 -*-

import pyautogui

import os

import sys

import time

import subprocess



_path = os.path.dirname(os.path.realpath(sys.executable))

img_path = _path +"\\imgs"



_cmd = _path +'\\startandclick\\'

_cmdnoclick = _path +'\\onlystart\\'

def listpath(path):

if not os.path.exists(path):

os.makedirs(path)

imgs = os.listdir(path)

return imgs



if __name__ == "__main__":

imgdir = os.listdir(img_path)

_rjc = listpath(_cmd)

_rjo = listpath(_cmdnoclick)

for j in range(0,len(imgdir)):

newimgpath = img_path+"\\"+imgdir[j]

imgslist = listpath(newimgpath)

subprocess.Popen(_cmd+_rjc[j],stdout=subprocess.PIPE, shell=True)

time.sleep(0.8)

for i in range(0,len(imgslist)):

while True:

location=pyautogui.locateCenterOnScreen(newimgpath+'\\'+imgslist[i])

if location is not None:

pyautogui.click(location.x,location.y,duration=0.2,button='left')

break

time.sleep(0.2)

print('点击任务'+str(i)+"执行成功!")

for i in range(0,len(_rjo)):

subprocess.Popen(_cmdnoclick+_rjo[i],stdout=subprocess.PIPE, shell=True)

print('启动任务'+str(i)+"执行成功!")

time.sleep(0.5)

print("---------------------------------------")

print("所有任务执行成功!")

time.sleep(0.5)

sys.exit(0)