You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pywinauto连接后无法设置设备管理器窗口焦点

Windows 10下无法为设备管理器窗口设置焦点的问题

在Windows 10系统中,我尝试了多种方法(参考Stack Overflow、YouTube及谷歌相关内容),试图将焦点设置到设备管理器窗口。目前能够成功打开设备管理器,但始终无法使其获得焦点,后续操作无法执行。

我尝试过两种打开设备管理器的方式:

  • 通过app = Application(backend="uia").start(r'mmc devmgmt.msc')启动:此方式会弹出标准用户权限提示,且无法执行设备卸载操作;
  • 通过模拟Win+R快捷键打开运行对话框,输入devmgmt.msc启动:此方式可正常卸载设备,但通过findwindows.find_window获取窗口句柄,并使用Application(backend="uia").connect(handle=mywin)连接窗口后,仍无法设置焦点,尝试点击菜单、最大化窗口等操作均失败。

相关代码如下:

from pywinauto import Application, keyboard, mouse, findwindows
import time

# 用这种方式打开可以卸载设备
keyboard.send_keys("{LWIN down}" "r" "{LWIN up}") # 按下Win+R打开运行对话框
keyboard.send_keys("devmgmt.msc" "{ENTER}") # 在运行对话框中输入devmgmt.msc并回车

className = 'MMCMainFrame'
name = 'Device Manager'

time.sleep(1) # 等待1秒确保窗口打开,不等待的话操作太快有时会报错
mywin = findwindows.find_window(active_only=True, class_name=className, title_re=name)
print("设备管理器窗口句柄 = " + str(mywin)) # 这是窗口的句柄

app = Application(backend="uia").connect(handle=mywin)
print("app = " + str(app))

win = app.window(title_re=name)
print("win = " + str(win))

dlg = app[name]
print("dlg = " + str(dlg))

# *** 我只是尝试最大化窗口来确认是否已设置焦点 ***
# 最大化设备管理器窗口
# maxWindow = app.DeviceManager.child_window(title="Maximize", control_type="Button")
# maxWindow.click_input() # 点击最大化按钮

内容的提问来源于stack exchange,提问作者JamesL3H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 05:39:53