win32gui.SetActiveWindow()错误:指定的过程无法找到

2024-06-02 08:20:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我看到活动窗口是这样的:

window = win32gui.GetForegroundWindow()

是整数,比如1053634。 然后我尝试将前台窗口设置回指定的窗口:

win32gui.SetForegroundWindow(window)

我得到这个错误: win32gui.SetForegroundWindow(窗口) 错误:(127,“SetForegroundWindow”,“找不到指定的过程。”)

有时在解释器中执行此操作时,会出现以下错误:

win32gui.SetForegroundWindow(1053634)
error: (0, 'SetForegroundWindow', 'No error message is available')

你觉得有什么问题?

谢谢!


Tags: nomessageis过程错误整数errorwindow
1条回答
网友
1楼 · 发布于 2024-06-02 08:20:23

我的程序在Windows7桌面上运行良好,但是当我在WindowsVista上使用笔记本时 (即使关闭了UAC),我也会得到错误:

pywintypes.error: (0, 'SetForegroundWindow', 'No error message is available')

程序将在任务栏中闪烁,但不发送字符。

我甚至尝试发送“记事本”setforegroundindow,得到同样的错误。

下面是一个链接,其中包含一个解决方案,该解决方案将线程组合在一起,以使计算机认为它们一起工作:http://www.shloemi.com/2012/09/solved-setforegroundwindow-win32-api-not-always-works/

这篇文章有关于这个问题的更多信息。

更新:很抱歉链接到一个C程序。我又研究了一些,发现如果你先发送alt键,它会让你设置基础窗口。

例如:

import win32gui, win32com.client
shell = win32com.client.Dispatch("WScript.Shell")
shell.SendKeys('%')
win32gui.SetForegroundWindow(window)

相关问题 更多 >