#-*- coding:utf-8 _*-
import win32gui, win32api, win32con
import time
import pyperclip
import pymouse,pykeyboard
m = pymouse.PyMouse()
k = pykeyboard.PyKeyboard()
# todo 聊天窗口1
classname = "WeChatMainWndForPC"
titlename = "微信"
# todo 微信窗口父容器句柄
pHwnd = win32gui.FindWindow(classname, titlename)
print(pHwnd)
# 强行显示界面后才好截图
win32gui.ShowWindow(pHwnd, win32con.SW_RESTORE)
# 将窗口提到最前
win32gui.SetForegroundWindow(pHwnd)
#获取窗口左上角和右下角坐标
left, top, right, bottom = win32gui.GetWindowRect(pHwnd)
print(left, top, right, bottom)
#鼠标移动到坐标(x,y)处
m.move(left + 110,top + 40)
#鼠标点击,x,y是坐标位置 button 1表示左键,2表示点击右键 n是点击次数,默认是1次,2表示双击
m.click(left + 110,top + 40,1)
time.sleep(0.25)
m.click(left + 110,top + 40,1)
#获取当前的鼠标位置
nowP = m.position()
print(nowP)
#复制
pyperclip.copy("法律读库")
# pyperclip.copy("法律读库")
pyperclip.paste()
#模拟键盘点击ctrl+v
k.press_key(k.control_key)
k.tap_key('v')
k.release_key(k.control_key)
time.sleep(3)
#点击第一个公众号,注意要关注
m.click(left + 180,top + 130,1)
time.sleep(3)
#点击历史数据
# 模拟鼠标操作(点击)
win32api.SetCursorPos([right - 30,top + 40]) # 为鼠标焦点设定一个位置
#执行左单键击,若需要双击则延时几毫秒再点击一次即可
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
# win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN | win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
time.sleep(1)
# 模拟鼠标操作(点击)
win32api.SetCursorPos([right - 30 + 20,top + 40+20]) # 为鼠标焦点设定一个位置
#执行左单键击,若需要双击则延时几毫秒再点击一次即可
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
# 通过坐标获取窗口句柄
hw = win32gui.WindowFromPoint(win32api.GetCursorPos())
print(hw)
# 获取窗口classname
hwclass = win32gui.GetClassName(hw)
# 获取窗口标题
hwtext = win32gui.GetWindowText(hw)
# 获取窗口坐标
win32gui.GetWindowRect(hw)
# TODO 获取到分享消息列表的窗口句柄 --> 点击读取历史消息
left1, top1, right1, bottom1 = win32gui.GetWindowRect(hw)
#鼠标点击,x,y是坐标位置 button 1表示左键,2表示点击右键 n是点击次数,默认是1次,2表示双击
m.click(left1 + 209,top1 + 248,1)
time.sleep(3)
# TODO 获取到历史消息列表的窗口句柄
hisHwnd = win32gui.FindWindow('CefWebViewWnd', '微信')
#获取窗口左上角和右下角坐标
left2, top2, right2, bottom2 = win32gui.GetWindowRect(hisHwnd)
print(left2, top2, right2, bottom2)
#获取当前的鼠标位置
# nowP = m.position()
# print(nowP)