通过微信PC端获取部分句柄操作

#-*- 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)

 

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值