# pip install pywin32
import win32gui
import win32api
import win32con
import time
# FindWindow(窗体类名,窗口标题)
# 通过窗体类名和窗口名(窗口标题)查找主窗口的句柄
# FindWindowEx()
# 描述:搜索类名和窗体名匹配的窗体,并返回这个窗体的句柄。不区分大小写,找不到就返回0。
# 参数:
# hwndParent:若不为0,则搜索句柄为hwndParent窗体的子窗体。
# hwndChildAfter:若不为0,则按照z-index的顺序从hwndChildAfter向后开始搜索子窗体,否则从第一个子窗体开始搜索。
# lpClassName:字符型,是窗体的类名,这个可以在Spy++里找到。
# lpWindowName:字符型,是窗口名,也就是标题栏上你能看见的那个标题。
# 说明:找到了主窗口以后就靠它来定位子窗体啦。
# 如果全选列表中的设备,点击下载时,是会自动下载所有设备的数据的
# 1、鼠标右键点击出现列表_坐标:364,194 颜色:16777215
# 2、鼠标左键点击选择全部设备_坐标:413,208 颜色:16777215
# 3、鼠标左键点击连接设备按钮_坐标:361,89 颜色:9221466
# 4、鼠标左键点击从设备下载记录数据坐标:124,299 颜色:14199984
# 查询主窗口的句柄,未查询到返回0
hwndParent = win32gui.FindWindow('TFormAttMain',None)
# 我的设备列表
childParent = win32gui.FindWindowEx(hwndParent,0,'TListView',None)
print(hwndParent)
# 获取主窗口焦点
win32gui.SetForegroundWindow(hwndParent)
# 初始化主窗口大小
win32gui.MoveWindow(hwndParent,20,20,1300,405,True)
# 步骤1区域-------------------------------------------------------------
# 设定鼠标焦点位置,为鼠标右击做准备
win32api.SetCursorPos([364,194])
#延迟0.1秒
time.sleep(0.1)
# 鼠标右键点击出现列表
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN,0,0,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP,0,0,0,0)
# 步骤1区域结束-------------------------------------------------------------
time.sleep(1)
# 步骤2区域-------------------------------------------------------------
# 设定鼠标焦点位置,为左键点击选择全部设备做准备
win32api.SetCursorPos([413,208])
# 延迟0.1秒
time.sleep(0.1)
# 鼠标左键点击选择全部设备
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0,0,0)
# 步骤2区域结束-------------------------------------------------------------
time.sleep(1)
# 步骤3区域-------------------------------------------------------------
# 设定鼠标焦点位置,为左键点击连接设备按钮做准备
win32api.SetCursorPos([361,89])
# 延迟0.1秒
time.sleep(0.1)
# 鼠标左键点击连接设备按钮
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0,0,0)
# 步骤3区域结束-------------------------------------------------------------
# 设备连接中,需等待较长时间
time.sleep(6*60)
# 步骤4区域-------------------------------------------------------------
# 设定鼠标焦点位置,为左键点击从设备下载记录数据做准备
win32api.SetCursorPos([124,299])
# 延迟2秒
time.sleep(2)
# 鼠标左键点击从设备下载记录数据
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0,0,0)
# 步骤4区域结束-------------------------------------------------------------