2013-01-12 38 views
3

我得到这样的活动窗口,以便:win32gui.SetActiveWindow()错误:指定的程序无法找到

window = win32gui.GetForegroundWindow() 

这是一个int,说1053634. 事后我尝试设置前台窗口回到指定的窗口:

win32gui.SetForegroundWindow(window) 

而且我得到这个错误: win32gui.SetForegroundWindow(窗口) 错误:(127, 'SetForegroundWindow', '指定的程序无法找到。')

有时我做到这一点的解释时,我得到这个错误:

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

你认为是什么问题?

谢谢!

回答

9

我的程序工作正常,我的桌面上使用Windows 7,但是当我用我的笔记本电脑与Windows Vista (即使UAC关闭),我得到的错误:

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

该计划将在闪烁任务栏,但不发送字符。

我甚至尝试发送'记事本'SetForegroundWindow并得到相同的错误。

这里是结合线程拿到电脑想出一个解决办法的链接,他们一起工作:http://www.shloemi.com/2012/09/solved-setforegroundwindow-win32-api-not-always-works/

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

更新:我很抱歉,链接去C程序。我研究了一些,发现它会让你SetForegroundWindow,如果你先发送一个alt键。

例如:

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