admin管理员组

文章数量:1666604

你可以使用win32gui模块来做到这一点。首先,您需要获得有效的窗口句柄。如果您知道窗口类名称或确切标题,则可以使用win32gui.FindWindow。如果没有,您可以使用win32gui.EnumWindows来枚举窗口并尝试找到合适的窗口。

一旦你有手柄,你可以用手柄拨打win32gui.SetForegroundWindow。它会激活窗口,并准备好获取您的击键。

查看下面的示例。我希望它能帮助

import win32gui

import re

class WindowMgr:

"""Encapsulates some calls to the winapi for window management"""

def __init__ (self):

"""Constructor"""

self._handle = None

def find_window(self, class_name, window_name=None):

"""find a window by its class_name"""

self._handle = win32gui.FindWindow(class_name, window_name)

def _window_enum_callback(self, hwnd, wildcard):

"""Pass to win32gui.EnumWindows() to check all the opened windows"""

if re.match(wildcard, str(win32gui.GetWindowText(hwnd))) is not None:

self._handle = hwnd

def find_window_wildcard(self, wildcard):

"""find a window whose title matches the wildcard regex"""

self._handle = None

win32gui.EnumWindows(self._window_enum_callback, wildcard)

def set_foreground(self):

"""put the window in the foreground"""

win32gui.SetForegroundWindow(self._handle)

w = WindowMgr()

w.find_window_wildcard(".*Hello.*")

w.set_foreground()

本文标签: 窗口Python