首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

win32gui选择两个同名窗口

win32gui是一个Python的第三方库,用于操作Windows系统的图形用户界面。它提供了一系列的函数和方法,可以实现窗口的创建、显示、隐藏、移动、调整大小等操作。

在win32gui中,如果存在两个同名窗口,可以通过以下步骤选择它们:

  1. 使用win32gui.FindWindow(class_name, window_name)函数来查找指定类名和窗口名的窗口。其中,class_name是窗口的类名,可以为空字符串表示不限制类名,window_name是窗口的标题名,可以是窗口的部分标题。
  2. 如果存在多个同名窗口,可以使用win32gui.EnumWindows(callback, param)函数遍历所有窗口,并通过回调函数callback来判断窗口是否符合条件。在回调函数中,可以使用win32gui.GetWindowText(hwnd)win32gui.GetClassName(hwnd)函数获取窗口的标题和类名。
  3. 在回调函数中,可以根据窗口的标题和类名来判断是否是目标窗口。如果是目标窗口,可以保存窗口的句柄hwnd,并在需要的时候使用。

以下是一个示例代码,用于选择两个同名窗口:

代码语言:txt
复制
import win32gui

def find_window_callback(hwnd, param):
    window_title = win32gui.GetWindowText(hwnd)
    class_name = win32gui.GetClassName(hwnd)
    
    if window_title == param["window_name"] and class_name == param["class_name"]:
        param["windows"].append(hwnd)

def select_same_name_windows(class_name, window_name):
    windows = []
    param = {"class_name": class_name, "window_name": window_name, "windows": windows}
    win32gui.EnumWindows(find_window_callback, param)
    
    if len(windows) >= 2:
        return windows[:2]  # 返回前两个同名窗口的句柄
    else:
        return None

# 示例用法
class_name = "Notepad"
window_name = "Untitled - Notepad"
windows = select_same_name_windows(class_name, window_name)
if windows:
    print("找到两个同名窗口:")
    for hwnd in windows:
        print(hwnd)
else:
    print("未找到两个同名窗口")

在上述示例代码中,我们通过select_same_name_windows函数来选择两个同名窗口。其中,class_namewindow_name分别表示窗口的类名和标题名。函数会返回一个包含两个同名窗口句柄的列表,如果未找到两个同名窗口,则返回None

注意:以上示例代码仅为演示目的,实际使用时可能需要根据具体情况进行适当的修改和调整。

腾讯云相关产品和产品介绍链接地址:

  • 云服务器 CVM:提供弹性计算能力,满足各类业务需求。
  • 云数据库 MySQL:提供稳定可靠的云端数据库服务。
  • 云存储 COS:提供安全可靠的对象存储服务,适用于图片、音视频、文档等数据的存储和分发。
  • 人工智能平台 AI Lab:提供丰富的人工智能服务和开发工具,帮助开发者快速构建智能应用。
  • 物联网平台 IoT Hub:提供全面的物联网解决方案,支持设备接入、数据管理和应用开发。
  • 区块链服务 TBCAS:提供安全高效的区块链服务,支持多种场景的应用开发。
  • 云原生容器服务 TKE:提供高可用、弹性伸缩的容器集群管理服务,支持容器化应用的部署和运维。

以上腾讯云产品仅作为示例,实际选择产品时应根据具体需求进行评估和选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

windows GUI自动化怎么做

例如 MessageBox 内的 MB_OK win32file:提供了有关文件操作的API pywin32 包含 win32gui、win32api、win32con 3个子模块,主要用于窗口管理(定位窗口...、显示和关闭窗口窗口前置、窗口聚焦、获取窗口位置等),通常用的较多的是 win32gui hld = win32gui.FindWindow(None,u"Adobe Acrobat") #返回窗口标题为...如果有新进程,就会得到错误对象) (2)通过find_dlg = app.window_(title_re = ‘ ’, class_name = ‘ ’) 方法获得,title_re和 class_name这两个可以单独使用也可以一块使用...如果需要下拉框,pywinauto,uiautomation都是不错选择。 pyautogui可以用在定位不到元素的地方,用图像或者坐标来定位,也可以操作鍵盤,快捷鍵。...win32gui可以辅助操作窗口。 定位元素一般可以用classname,title,name,instence,controltype都可以正則來實現。

2.2K40
  • 窗口下的批量操作脚本 - 利用win3

    环境:python 3.7.x 使用的模块:pyautogui, win32gui 使用的工具:WindowSpy++ 背景:最近要用帮同学处理400+张图片的文字识别,考虑用python实现 [天若OCR...鼠标键盘动作模拟的模块(包)选择 百度到的键鼠模拟包主要有PyUserInput和pyautogui两个包可选,具体如下:   PyUserInput: 集成了py3.x之前的pymouse和pykeyboard...多次尝试无果后,我就选择了pyautogui,它功能与UserInput无异、可以直接使用pip安装,还能很方便地找到一些函数和按键的快查表(如 https://blog.csdn.net/ibiao/...本着少做调查研究的原则,我本来是打算用模拟键盘alt+tab的方法直接实现切换窗口的,甚至计算了多个窗口下置换前置的排列组合方法。...窗体句柄和标题(比如图片查看器)是经常会变动的,网友们有各种各样的方法来实时获取窗体句柄,而这里我…………为了偷懒,在窗体关系并不复杂的前提下,我选择了用窗体类名而不是句柄或窗体标题来直接区别不同窗体。

    2.3K10

    3.4.4 多帧滑动窗口选择重传协议(SR)

    但此时必须加大接受窗口,以便先收下发送序号不连续但仍处在接受窗口中的那些数据帧。等到所缺序号的数据帧收到后再一并送交主机。这就是选择重传ARQ协议。...在选择重传协议中,每一个发送缓冲区对应一个计时器,当计时器超时时,缓冲区的帧就会重传。...选择重传协议的接受窗口尺寸Wr和发送窗口尺寸Wt都大于1,一次可以发送或接受多个帧。...若采用n比特对帧编号,为了保证接收方向向前移动窗口后,新窗口序号与旧窗口序号没有重叠部分,需要满足条件:接受窗口Wr+发送窗口Wt<=2^n。...当接受窗口为最大值时,Wtmax=Wrmax=2^(n-1)。 选择重传协议可以避免重复传送那些本已正确到达接收端的数据帧,但在接收端要设置具有相当容量的缓冲区来暂存那些未按序正确收到的帧。

    1.7K20

    嵌入式Qt-实现两个窗口的切换

    之前的文章,分别有介绍过使用Qt程序实现一个时钟和一个秒表,本篇,来将这两个功能整合在一起,实现两个页面的随意切换,并且两个页面能独立运行,互不影响。...先来看下最终的效果,通过左侧的两个按钮,实现两个页面的切换。 1 Qt堆栈窗口 本篇的页面切换功能,是利用Qt的QStackedWidget实现的。...1 stack->addWidget(label2); //StackedWidget中添加窗口2 stack->addWidget(label3); //StackedWidget中添加窗口...2 移植时钟与秒表程序 2.1 时钟程序移植 将之前这篇中的程序作为一个独立的窗口移植到本篇的程序中:嵌入式Qt-动手编写并运行自己的第1个ARM-Qt程序 移植步骤: Qt Creator中,堆栈窗口基础工程的基础上...(false); } 注意头文件包含的是ui_TimerWidget.h,构造函数继承的ui也是Ui::TimerWidget 2.3 主程序框架 移植好Qt时钟程序和Qt秒表程序后,就可以将这两个功能加入到堆栈窗口中了

    1.6K20

    从命令提示窗口选择MySQL数据库

    MySQL 选择数据库 在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库。...---- 从命令提示窗口选择MySQL数据库 在 mysql> 提示窗口中可以很简单的选择特定的数据库。你可以使用SQL命令来选择指定的数据库。...host]# mysql -u root -p Enter password:****** mysql> use RUNOOB; Database changed mysql> 执行以上命令后,你就已经成功选择了...---- 使用PHP脚本选择MySQL数据库 PHP 提供了函数 mysqli_select_db 来选取一个数据库。函数在执行成功后返回 TRUE ,否则返回 FALSE 。...实例 以下实例展示了如何使用 mysqli_select_db 函数来选取一个数据库: 选择数据库 <?

    96900

    一个类如何实现两个接口中同名同参数不同返回值的函数

    假设有如下两个接口: public interface IA {     string GetA(string a); } public interface IB {     int GetA(string... a); } 他们都要求实现方法GetA,而且传入的参数都是一样的String类型,只是返回值一个是String一个是Int,现在我们要声明一个类X,这个类要同时实现这两个接口: public class... X:IA,IB 由于接口中要求的方法的方法名和参数是一样的,所以不可能通过重载的方式来解决,那么我们该如何同时实现这两个接口拉?...IB.GetA(string a)//实现IB接口     {         Console.WriteLine("IB.GetA");         return 12;     } } 同样如果有更多的同名同参不同返回值的接口

    2.9K20

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

    1.通过类名和标题查找窗口句柄,并获得窗口位置和大小 import win32gui import win32api classname = "MozillaWindowClass" titlename...= "百度一下,你就知道 - Mozilla Firefox" #获取句柄 hwnd = win32gui.FindWindow(classname, titlename) #获取窗口左上角和右下角坐标...win32gui.PostMessage(win32lib.findWindow(classname, titlename), win32con.WM_CLOSE, 0, 0) win32gui遍历窗口并设置窗口位置...import win32gui import win32con def reset_window_pos(targetTitle): hWndList = [] win32gui.EnumWindows...、遍历和点击的示例代码的文章就介绍到这了,更多相关pywin32 窗口查找、遍历和点击内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

    8.8K20

    慎用!3个容易被打的Python恶搞脚本

    1、修改电脑桌面壁纸 工具使用 开发环境:python3.7, Windows10 使用工具包:win32api,win32con, win32gui, os, random win32的工具下载命令:...通过win32api 打开注册表选择配置的对应子项生成对应句柄 k = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER, 'Control PanelDesktop...', 0, win32con.KEY_SET_VALUE) 将桌面样式调整拉伸模式 2 拉伸壁纸 0 壁纸居中 6 适应 10 填充 准备好需要修改的图片壁纸(壁纸数据通过爬虫技术进行采集) win32gui...win32con.SPIF_SENDWININICHANGE) 源码分享 import win32api # 调用Windows底层的接口配置 pip install pywin32 import win32con # 修改数据 import win32gui...pyinstaller -F 你的文件名 打包之后可给你朋友同事尝试一下(为了朋友同事间的友谊最好加个延时操作) 3、无限弹窗 之前大家应该都了解过熊猫烧香(类似,如果有相识跟我没有关系) 通过os模块执行打开cmd窗口页面

    97120

    Python 实现窗口保持置顶

    今天一边看视频一边用 Typora 记笔记的时候发现一个问题, Typora 自带的 保持窗口在最前端不知何故会失效, 所以我就想用 Python 写一个可以让窗口强制指定的工具, 毕竟在查阅文档的时候还是有些用处的...使用的模块 win32gui keyboard win32con pyinstaller 使用的函数及其原型 SetWindowPos WINUSERAPI BOOL WINAPI SetWindowPos...被修改的窗口的句柄 hWndlnsertAfter: 用于标识 Z 顺序, 可设为以下值: HWND_BOTTOM: 值为 1, 置底 HWND_NOTOPMOST: 值为 -2, 置于非置顶窗口之上..., 部分值如下: SWP_NOOWNERZORDER: 不改变 Z 序中所有者窗口的位置 SWP_NOSIZE: 不改变窗口大小 SWP_NOMOVE: 不移动窗口 GetForegroundWindow...', fun) while true: keyboard.wait() add_hotkey 可以设置热键和检测到热键按下后执行的方法, wait是阻塞方法, 便于检测组合键 源码 import win32gui

    4.4K11

    相邻兄弟选择器用什么符号连接两个元素

    相邻兄弟选择器使用的符号CSS中,相邻兄弟元素选择器使用“+”加号来连接两个两个元素选择器。...语法如下:选择器1+选择器2{属性: 属性值;}相邻兄弟选择选择的哪个兄弟元素据个人的编程经验,相邻的兄弟选择器匹配选择的一般是写在选择器1匹配到的元素1后面的那个元素2,而不是写在元素1前面的元素。...相邻兄弟选择器实例代码下方实例,设置了三个段落p元素,并通过中间的元素使用相邻兄弟选择器来匹配选择相邻的兄弟元素,并设置样式。...:段落1段落2段落3 #p1 + p{color:green;font-size:1.5em;}原文:相邻兄弟选择器用什么符号连接两个元素免责声明

    21820
    领券