python和pywin32实现窗口查找、遍历和点击的示例代码


Posted in Python onApril 01, 2020

Pywin32是一个Python库,为python提供访问Windows API的扩展,提供了齐全的windows常量、接口、线程以及COM机制等等。

1.通过类名和标题查找窗口句柄,并获得窗口位置和大小

import win32gui
import win32api
classname = "MozillaWindowClass"
titlename = "百度一下,你就知道 - Mozilla Firefox"
#获取句柄
hwnd = win32gui.FindWindow(classname, titlename)
#获取窗口左上角和右下角坐标
left, top, right, bottom = win32gui.GetWindowRect(hwnd)

2.通过父句柄获取子句柄

def get_child_windows(parent):  
 '''  
 获得parent的所有子窗口句柄
  返回子窗口句柄列表
  '''  
 if not parent:   
  return  
 hwndChildList = []  
 win32gui.EnumChildWindows(parent, lambda hwnd, param: param.append(hwnd), hwndChildList)   
 return hwndChildList 

#获取某个句柄的类名和标题
title = win32gui.GetWindowText(hwnd)  
clsname = win32gui.GetClassName(hwnd)  

#获取父句柄hwnd类名为clsname的子句柄
hwnd1= win32gui.FindWindowEx(hwnd, None, clsname, None)

3.鼠标定位与点击

#鼠标定位到(30,50)
win32api.SetCursorPos([30,150])
#执行左单键击,若需要双击则延时几毫秒再点击一次即可
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
#右键单击
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP | win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)

4.发送回车键

win32api.keybd_event(13,0,0,0)
win32api.keybd_event(13,0,win32con.KEYEVENTF_KEYUP,0)

5.关闭窗口

win32gui.PostMessage(win32lib.findWindow(classname, titlename), win32con.WM_CLOSE, 0, 0)

win32gui遍历窗口并设置窗口位置

import win32gui
import win32con
def reset_window_pos(targetTitle): 
  hWndList = [] 
  win32gui.EnumWindows(lambda hWnd, param: param.append(hWnd), hWndList) 
  for hwnd in hWndList:
    clsname = win32gui.GetClassName(hwnd)
    title = win32gui.GetWindowText(hwnd)
    if (title.find(targetTitle) >= 0):  #调整目标窗口到坐标(600,300),大小设置为(600,600)
      win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, 600,300,600,600, win32con.SWP_SHOWWINDOW)
      
reset_window_pos("windowName")

到此这篇关于python和pywin32实现窗口查找、遍历和点击的示例代码的文章就介绍到这了,更多相关pywin32 窗口查找、遍历和点击内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python pass详细介绍及实例代码
Nov 24 Python
Python中selenium实现文件上传所有方法整理总结
Apr 01 Python
PyChar学习教程之自定义文件与代码模板详解
Jul 17 Python
python编程培训 python培训靠谱吗
Jan 17 Python
VSCode下好用的Python插件及配置
Apr 06 Python
win7下python3.6安装配置方法图文教程
Jul 31 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
Python Pillow.Image 图像保存和参数选择方式
Jan 09 Python
python实现简单井字棋游戏
Mar 04 Python
python 成功引入包但无法正常调用的解决
Mar 09 Python
Python利用Xpath选择器爬取京东网商品信息
Jun 01 Python
Python通过Schema实现数据验证方式
Nov 12 Python
python自动脚本的pyautogui入门学习
Apr 01 #Python
Python自动重新加载模块详解(autoreload module)
Apr 01 #Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
Apr 01 #Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
Apr 01 #Python
django model的update时auto_now不被更新的原因及解决方式
Apr 01 #Python
pyautogui自动化控制鼠标和键盘操作的步骤
Apr 01 #Python
详解Python中pyautogui库的最全使用方法
Apr 01 #Python
You might like
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
javascript 对象比较实现代码
2009/04/27 Javascript
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
js实现简单鼠标跟随效果的方法
2015/04/10 Javascript
移动Web中图片自适应的两种JavaScript解决方法
2015/06/18 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
jquery模拟多级复选框效果的简单实例
2016/06/08 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
webpack@v4升级踩坑(小结)
2018/10/08 Javascript
详解bootstrap-fileinput文件上传控件的亲身实践
2019/03/21 Javascript
详解auto-vue-file:一个自动创建vue组件的包
2019/04/26 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
利用Python实现命令行版的火车票查看器
2016/08/05 Python
python os模块简单应用示例
2019/05/23 Python
Python基于内置库pytesseract实现图片验证码识别功能
2020/02/24 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
如何解决python多种版本冲突问题
2020/10/13 Python
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
如何让IE9以下版本(ie6/7/8)认识html5元素
2013/04/01 HTML / CSS
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
情人节活动策划方案
2014/02/27 职场文书
公司授权委托书
2014/04/04 职场文书
学生未请假就回家检讨书
2014/09/22 职场文书
2015年生产部工作总结范文
2015/05/25 职场文书
宇宙与人观后感
2015/06/05 职场文书
刘胡兰观后感
2015/06/16 职场文书
简爱读书笔记
2015/06/26 职场文书
教导处教学工作总结
2015/08/12 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书