Python-操作windows窗口方法记录

1、首先,先导入库。

import win32gui      # 提供了有关用户界面图形操作的API
import win32con      # 提供消息常量的操作API
import pyautogui     # 控制鼠标键盘

 2、寻找或者指定将要操作的窗口。

 类似下图,即是窗口名称


import win32gui      # 提供了有关用户界面图形操作的API
import win32con      # 提供消息常量的操作API
import pyautogui     # 控制鼠标键盘
import time

def warning_chaungkou():
    title = "警告"    # 指定窗口
    # 寻找当前窗口是否包括“警告”窗口
    hwnd = win32gui.FindWindow(None, title)   
    # 打印查找信息,如果找到,返回句柄信息,如果未找到,返回数值:0
    print(hwnd)                              
    if hwnd == 0:
        return False
    else:
        # 将当前窗口的句柄选中
        win32gui.SetForegroundWindow(hwnd)
        # 通过句柄信息,将当前窗口激活,放置界面顶层
        win32gui.ShowWindow(hwnd, win32con.SW_SHOW)
        '''
        网上资料记录:未验证。
        SW_HIDE:隐藏窗口并激活其他窗口。nCmdShow=0。
        SW_SHOWNORMAL:激活并显示一个窗口。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小。应用程序在第一次显示窗口的时候应该指定此标志。nCmdShow=1。
        SW_SHOWMINIMIZED:激活窗口并将其最小化。nCmdShow=2。
        SW_SHOWMAXIMIZED:激活窗口并将其最大化。nCmdShow=3。
        SW_SHOWNOACTIVATE:以窗口最近一次的大小和状态显示窗口。激活窗口仍然维持激活状态。nCmdShow=4。
        SW_SHOW:在窗口原来的位置以原来的尺寸激活和显示窗口。nCmdShow=5。
        SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一个顶层窗口。nCmdShow=6。
        SW_SHOWMINNOACTIVE:窗口最小化,激活窗口仍然维持激活状态。nCmdShow=7。
        SW_SHOWNA:以窗口原来的状态显示窗口。激活窗口仍然维持激活状态。nCmdShow=8。
        SW_RESTORE:激活并显示窗口。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。在恢复最小化窗口时,应用程序应该指定这个标志。nCmdShow=9。
        
        '''
        time.sleep(0.2)
        # 控制键盘点击 enter 键 
        pyautogui.press('enter')
        return True

shuju = warning_chaungkou()
print(shuju)

3、额外方法备注:打印当前已打开的窗口。

import win32gui

def get_all_hwnd(hwnd,mouse):
    hwnd_map = {}
    if (win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd)): #获取当前windows已打开的窗口
      hwnd_map.update({hwnd: win32gui.GetWindowText(hwnd)})  #
      for h, t in hwnd_map.items():
        print("【窗口名称】:{}".format(t)," 【句柄信息】:{}".format(h))
        
win32gui.EnumWindows(get_all_hwnd, 0) #枚举窗体

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

山中坐

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

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

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

打赏作者

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

抵扣说明:

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

余额充值