python获取软件窗口的坐标

文章介绍了如何通过Python的win32gui模块获取窗口的句柄和坐标,强调了PyWin32包的使用,以及利用Spyxx软件获取窗口类名的方法,目的是为了后续使用pynput进行鼠标键盘操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1.话不多说直接上源码再逐行解释

import win32gui

# 获取窗口句柄
hwnd = win32gui.FindWindow(None, '窗口标题')

# 获取窗口左上角坐标和右下角坐标
left, top, right, bottom = win32gui.GetWindowRect(hwnd)

# 输出坐标信息
print('窗口左上角坐标:({}, {})'.format(left, top))
print('窗口右下角坐标:({}, {})'.format(right, bottom))

2.运行效果

 3.笔者的需求

        我的最终需求是获取单选按钮的中间的按钮位置,然后通过pynput这个包去操作鼠标键盘

4.实现步骤

       1.包的导入

                a.第一步导入 win32gui 这个包,这里需要注意的是并没有win32gui这个包,这个组件包是存在于PyWin32这个包中,所以我们只要 pip install PyWin32 而不是去下载 win32gui。下载完后直接导入win32gui这个包就可以了

                b.代码实现

import win32gui

        2.窗口句柄的获取

                 a.我们要获取窗口的坐标必须要有窗口的句柄,句柄你可以理解为就是每个窗口的id

                 b.获取窗口的句柄我们需要用到 win32gui.FindWindow(None, '窗口标题') 这个方法

                        1.第一个参数是这个窗口的 类名

                        2.第二个参数是这个窗口的 标题

                 c.这里需要注意的是 如何才能知道某个窗口的 类名 以及 标题,还有就是这两个参数可以只填其中一个,可以根据需求填写比如我有两个不一样的窗口但是标题一样,那么你就要填上类名了这样才能区分,我建议还是两个都填,类名 和标题也很容易获取。

        3.窗口 类名 的获取

                 a.需要用到的软件 spyxx

                 b.下载链接 百度网盘 请输入提取码 提取码 a6mn  或者自己也可以在百度搜索下载这软件还是比较冷门的下载没有那么好找 怎么样下载都可以

                 c.使用方法

                        1.打开后如图所示

                        2.具体使用方法  

                                a.点击从左到右的第一个望远镜出现查找窗口的功能窗

                                b.点击拖动查找程序工具中的图标到指定窗口

                                c.拖完之后所需参数就已经显示到了查找窗口里面

                                        1.类名是 #32770  标题是 SAP Logon 770

                                        2.获取其他窗口也一样

                        3.图文流程

                                

                         4.代码实现

# hwnd 变量就是我们的句柄了
hwnd = win32gui.FindWindow(None, '窗口标题')

        4.坐标的获取

               a.获取坐标我们需要用到  win32gui.GetWindowRect(hwnd) 这个方法 它的返回参数有4个我们需要用4个变量去接受它分别是 左上角X轴坐标 左上角Y轴坐标 右下角X轴坐标 右下角Y轴坐标 

               b.代码实现

# 获取窗口左上角坐标和右下角坐标
left, top, right, bottom = win32gui.GetWindowRect(hwnd)

         5.第一次写文章有不好的地方或者说错的地方大家多多见谅 感谢

                 

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao贱贱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值