我使用下面的代码激活命令promt:
hwn = win32gui.FindWindow(None, "Prompt dei comandi - python demo.py")
win32gui.SetForegroundWindow(hwn)
Prompt dei comandi是意大利语命令promt :),demo.py是python文件的名称。 它与窗口xp完美配合,但是当我使用win7尝试相同的代码时,它不再起作用了。 我还使用以下代码检查可见窗口的列表:
import win32gui
def window_enum_handler(hwnd, resultList):
if win32gui.IsWindowVisible(hwnd) and win32gui.GetWindowText(hwnd) != '':
resultList.append((hwnd, win32gui.GetWindowText(hwnd)))
def get_app_list(handles=[]):
mlst=[]
win32gui.EnumWindows(window_enum_handler, handles)
for handle in handles:
mlst.append(handle)
return mlst
appwindows = get_app_list()
return appwindows
for i in appwindows:
print i
在该列表中,我可以看到:提示dei comandi - python demo.py 它从win xp变为win7 ??
由于
答案 0 :(得分:1)
有几件事情可能会发生。但我认为这是关于ANSI和UNICODE。尝试使用:
hwn = win32gui.FindWindow(None, u"Prompt dei comandi - python demo.py")
或者也许使用ctypes:
from ctypes import windll
FindWindowW = windll.user32.FindWindowW
FindWindowA = windll.user32.FindWindowA
print FindWindowW(0, u"Prompt dei comandi - python demo.py")
print FindWindowA(0, "Prompt dei comandi - python demo.py")
希望它有所帮助。
答案 1 :(得分:1)
事实证明,唯一的不同就是在一个空间! 我会解释我的自我: 这适用于win xp:
hwn = win32gui.FindWindow(None, "Prompt dei comandi - python demo.py")
这适用于win7:
hwn = win32gui.FindWindow(None, "Prompt dei comandi - python demo.py")
听起来很疯狂,但确实如此。