python点击按键句柄_学习python窗口句柄、后台鼠标点击等知识笔记

本文介绍了如何使用Python的win32gui和win32api库进行后台鼠标点击,包括获取窗口句柄(父窗口与子窗口)、计算相对坐标,并通过WM_LBUTTONDOWN和WM_LBUTTONUP模拟点击。同时,文中提到了在操作中遇到的父句柄与子句柄混淆的问题,以及前台点击与后台点击的区别。
摘要由CSDN通过智能技术生成

获取句柄:(ParentName为对应窗口的完整名称(字符串),实在确定不了可以用按键抓抓的句柄抓取获得)

parent = win32gui.FindWindow(0,ParentName)

获取子句柄:(ChildClass为子句柄的类名(字符串))

child= win32gui.FindWindowEx(parent,None,ChildClass, None)

鼠标点击(可后台):(hwnd为需要点击的窗口句柄,cx、cy为点击位置在该窗口的相对坐标)

def doClick(cx,cy):

long_position = win32api.MAKELONG(cx, cy)#模拟鼠标指针 传送到指定坐标

win32api.SendMessage(hwnd, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, long_position)#模拟鼠标按下

win32api.SendMessage(hwnd, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, long_position)#模拟鼠标弹起

不知道为什么,我用第三方工具抓取的坐标一直有问题,就写了一段计算相对坐标的代码。当时主要跳的坑有计算的时候用的是我要找的那个窗口的父句柄,以至于坐标一直有偏差,后来意识到子句柄才是要找的,修改了一下,坐标就正确了。

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

import win32gui,win32api

import time

wdname = u'父句柄名称'

hwnd = win32gui.FindWindow(0, wdname) # 父句柄

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值