TestWatchDog.py
import sys
import threading
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
from PyQt5.QtWidgets import QApplication, QMainWindow
import sendFile
import sendpackage
wait_send_package = []
global_display = None
class MyHandler(FileSystemEventHandler):
observer_wx = None
observer_welink = None
def on_created(self, event):
if event.is_directory:
# print (event.event_type,event.src_path)
pass
else:
# print (event.event_type,event.src_path)
pass
def on_deleted(self, event):
if event.is_directory:
# print (event.event_type,event.src_path)
pass
else:
# print (event.event_type,event.src_path)
pass
def on_modified(self, event):
if not event.is_directory:
# print (event.event_type,event.src_path)
pass
def get_observer(self, observer_wx, observer_welink):
self.observer_wx = observer_wx;
self.observer_welink = observer_welink
def on_moved(self, event):
print("move", event.src_path, event.dest_path)
# sendFile.SendWxFileMsg('课程服务', event.dest_path);
wait_send_package.append(event.dest_path)
package_num.setText("现有"+str(len(wait_send_package))+"包")
#global_display.setText(event.dest_path)
if (((event.dest_path).split('.')[-1]) in ['rar', 'zip']):
# 獲取文件名稱
files_name = (event.dest_path).split('\\')[-1]
print("需要添加的发送包" + files_name)
event_handler = MyHandler()
def start_package():
if event_handler.observer_wx == None:
observer_wx = Observer()
event_handler.get_observer(observer_wx, None)
event_handler.observer_wx.schedule(event_handler, path="d:\weixin", recursive=True)
event_handler.observer_wx.start()
print("开启发包")
else:
# if event_handler.observer_wx.stop()
# event_handler.observer_wx.start()
print("继续发包")
# else:
# observer_wx = Observer()
# observer_wx.schedule(event_handler, path="d:\weixin", recursive=True)
# event_handler.get_observer(observer_wx,None)
# event_handler.observer_wx.start()
# print('继续发包')
def stop_package():
if event_handler.observer_wx != None:
event_handler.observer_wx.stop()
event_handler.observer_wx = None
print("停止发包")
def start_msg():
for i in range(0,len(msg_list)):
sendFile.SendWxMsg('课程服务',msg_list[i])
msg_list = []
package_num = None
def readFromFile():
try:
with open('fankui.txt',encoding='utf-8') as f:
line = f.readline()
while line:
print(line)
#sendFile.SendWxMsg('课程服务',line)
msg_list.append(line)
line = f.readline()
print(msg_list)
except:
print(f.errors)
threading.Thread(target=start_msg).start()
def send_real_package():
threading.Thread(target=send_real_package_final).start()
print("有包" + str(len(wait_send_package)))
def send_real_package_final():
for i in range(0, len(wait_send_package)):
print(wait_send_package[i])
sendFile.SendWxFileMsg('课程服务', wait_send_package[i])
def stop_msg():
pass
if __name__ == "__main__":
# observer.schedule(event_handler, path="d:\weixin", recursive=True)
# try:
# print("started myWatch")
# # while True:
# # time.sleep(1)
# # print("开启")
# except KeyboardInterrupt:
# observer.stop()
# if observer.is_alive():
# observer.join()
app = QApplication(sys.argv)
mainWindow = QMainWindow()
ui = sendpackage.Ui_mainWindow()
# 向主窗口上添加控件
ui.setupUi(mainWindow)
mainWindow.show()
ui.pushButton.clicked.connect(start_package)
ui.pushButton_2.clicked.connect(stop_package)
ui.pushButton_3.clicked.connect(readFromFile)
ui.pushButton_5.clicked.connect(stop_msg)
ui.label_3.setText("待发包:"+str(len(wait_send_package)))
package_num = ui.label_3
global_display=ui.textEdit
ui.pushButton_4.clicked.connect(send_real_package)
sys.exit(app.exec_())
mainapp.py
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
import sendpackage
app = QApplication(sys.argv)
mainWindow = QMainWindow()
ui = sendpackage.Ui_mainWindow()
# 向主窗口上添加控件
ui.setupUi(mainWindow)
mainWindow.show()
sys.exit(app.exec_())
反馈.txt
12121031+全民飞车+飞车公司 测试问题:原生广告无请求 1092804+火箭弹+火箭公司 测试问题:第二次不上报Impds第二次不上报Impds第二次不上报Impds第二次不上报Impds第二次不上报Impds第二次不上报Impds第二次不上报Impds第二次不上报Impds第二次不上报Impds第二次不上报Impds第二次不上报Impds第二次不上报Impds第二次不上报Impds 19555144+杀神一刀+飞行公司 测试问题:激励视频不播放 198814544+神仙富士康+大龙公司 测试问题:SDK发链接独守空房简单来说甲方的快速上岛咖啡VB你们四大皆空
sendFile.py
import pyautogui
import time
import win32api
import win32con
import win32gui
import win32clipboard as w
def FindWindow(chatroom):
win = win32gui.FindWindow(None,chatroom)
print("找到窗口句柄:%x"%win)
if win != 0:
win32gui.ShowWindow(win,win32con.SW_SHOWMINIMIZED)
win32gui.ShowWindow(win,win32con.SW_SHOWNORMAL)
win32gui.ShowWindow(win,win32con.SW_SHOW)
win32gui.SetWindowPos(win,win32con.HWND_TOP,0,0,500,700,win32con.SWP_SHOWWINDOW)
win32gui.SetForegroundWindow(win)
time.sleep(1)
title= win32gui.GetWindowText(win)
print ('已啟動【'+str(title)+'】窗口')
else:
print('找不到【%s】窗口'%chatroom)
exit()
# 设置和粘贴剪贴板
def ClipboardText(ClipboardText):
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT, ClipboardText)
w.CloseClipboard()
time.sleep(1)
win32api.keybd_event(17, 0, 0, 0)
win32api.keybd_event(86, 0, 0, 0)
win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0)
win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
# 模拟发送动作
def SendMsg():
win32api.keybd_event(18, 0, 0, 0)
win32api.keybd_event(83, 0, 0, 0)
win32api.keybd_event(18, 0, win32con.KEYEVENTF_KEYUP, 0)
win32api.keybd_event(83, 0, win32con.KEYEVENTF_KEYUP, 0)
# 模拟发送文件消息(图片、文档、压缩包等)
def SendWxFileMsg(appid,imgpath):
# 先启动微信
FindWindow('微信')
time.sleep(1)
# 定位到搜索框
pyautogui.moveTo(143, 39)
pyautogui.click()
# 搜索微信
ClipboardText(appid)
time.sleep(1500)
# 进入聊天窗口
pyautogui.moveTo(155, 120)
pyautogui.click()
# 选择文件
pyautogui.moveTo(373, 570)
pyautogui.click()
ClipboardText(imgpath)
time.sleep(1500)
pyautogui.moveTo(784, 509)
pyautogui.click()
# 发送
SendMsg()
print('已发送')
# 关闭微信窗口
# time.sleep(1)
# pyautogui.moveTo(683, 16)
# pyautogui.click()
# 模拟发送文件消息(图片、文档、压缩包等)
def SendWxMsg(appid,imgpath):
# 先启动微信
FindWindow('微信')
time.sleep(1)
# 定位到搜索框
pyautogui.moveTo(143, 39)
pyautogui.click()
# 搜索微信
ClipboardText(appid)
time.sleep(1)
# 进入聊天窗口
pyautogui.moveTo(155, 120)
pyautogui.click()
# 选择文件
ClipboardText(imgpath)
time.sleep(1)
pyautogui.moveTo(620, 675)
pyautogui.click()
# 发送
SendMsg()
print('已发送')
# 关闭微信窗口
#time.sleep(1)
# pyautogui.moveTo(683, 16)
# pyautogui.click()
sendpackage.py
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'sendpackage.ui'
#
# Created by: PyQt5 UI code generator 5.15.6
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_mainWindow(object):
def setupUi(self, mainWindow):
mainWindow.setObjectName("mainWindow")
mainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(mainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_3.setGeometry(QtCore.QRect(40, 80, 111, 71))
self.pushButton_3.setObjectName("pushButton_3")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(40, 320, 111, 71))
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(190, 310, 111, 71))
self.pushButton_2.setObjectName("pushButton_2")
self.pushButton_5 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_5.setGeometry(QtCore.QRect(190, 80, 101, 71))
self.pushButton_5.setObjectName("pushButton_5")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(110, 240, 161, 16))
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(110, 40, 161, 16))
self.label_2.setObjectName("label_2")
self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_4.setGeometry(QtCore.QRect(120, 440, 91, 61))
self.pushButton_4.setObjectName("pushButton_4")
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(520, 60, 54, 12))
self.label_3.setObjectName("label_3")
self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
self.textEdit.setGeometry(QtCore.QRect(420, 90, 291, 391))
self.textEdit.setObjectName("textEdit")
mainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(mainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
self.menubar.setObjectName("menubar")
mainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(mainWindow)
self.statusbar.setObjectName("statusbar")
mainWindow.setStatusBar(self.statusbar)
self.retranslateUi(mainWindow)
QtCore.QMetaObject.connectSlotsByName(mainWindow)
def retranslateUi(self, mainWindow):
_translate = QtCore.QCoreApplication.translate
mainWindow.setWindowTitle(_translate("mainWindow", "三方媒体发包工具"))
self.pushButton_3.setText(_translate("mainWindow", "运营反馈开启"))
self.pushButton.setText(_translate("mainWindow", "开启监听微信"))
self.pushButton_2.setText(_translate("mainWindow", "停止监听微信"))
self.pushButton_5.setText(_translate("mainWindow", "运营反馈关闭"))
self.label.setText(_translate("mainWindow", "微信发往Welink群"))
self.label_2.setText(_translate("mainWindow", "Welink发往微信群"))
self.pushButton_4.setText(_translate("mainWindow", "开启空闲发包"))
self.label_3.setText(_translate("mainWindow", "待发包:"))