利用python+win32api获取标题对应的窗口句柄id,并且操作为当前活动窗口
Posted brucelong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用python+win32api获取标题对应的窗口句柄id,并且操作为当前活动窗口相关的知识,希望对你有一定的参考价值。
# #!/usr/bin/python3 # -*- coding: utf-8 -*- # @Time : 2021-06-15 18:08 # @Author : BruceLong # @FileName: switch_win.py # @Email : 18656170559@163.com # @Software: PyCharm # @Blog :http://www.cnblogs.com/yunlongaimeng/ import ctypes import win32gui import win32con def get_jb_id(title): \'\'\' 根据标题找句柄 :param title: 标题 :return:返回句柄所对应的ID \'\'\' jh = [] hwnd_title = dict() def get_all_hwnd(hwnd, mouse): if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd): hwnd_title.update({hwnd: win32gui.GetWindowText(hwnd)}) win32gui.EnumWindows(get_all_hwnd, 0) for h, t in hwnd_title.items(): if t is not "": if title in t: jh.append(h) if len(jh) == 0: print("找不到相应的句柄") else: return jh def switch_roles(hwnd): \'\'\' 根据句柄id切换活动窗口 :param hwnd: :return: \'\'\' try: ctypes.windll.user32.SwitchToThisWindow(hwnd, True) win32gui.ShowWindow(hwnd, win32con.SW_SHOWNORMAL) win32gui.SetForegroundWindow(hwnd) msg = [True, \'exec success\', None] except Exception as e: msg = [False, \'没有找到可操作的对象\', str(e)] return msg jb_id_list = get_jb_id("Studio 3T for MongoDB - TRIAL LICENSE") jb_id = jb_id_list[0] if jb_id_list else jb_id_list print(switch_roles(jb_id))
以上是关于利用python+win32api获取标题对应的窗口句柄id,并且操作为当前活动窗口的主要内容,如果未能解决你的问题,请参考以下文章
GetExplicitEntriesFromAcl() Win32 API 函数的对应物是啥?