Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:win32gui.SetForegroundWindow_Python_Handle - Fatal编程技术网

Python:win32gui.SetForegroundWindow

Python:win32gui.SetForegroundWindow,python,handle,Python,Handle,我刚刚编写了一个简单的脚本来启动一个应用程序,我正在尝试使用“SendKeys”模块向这个应用程序发送击键。有一个“快照”按钮,但我无法让Python单击“快照”按钮,因为新窗口没有焦点。因此,我计划使用Win32gui模块的Win32gui.FindWindow和Win32gui.SetForegroundWindow功能。但它给了我错误-无效句柄。我的应用程序名为“DMCap” 以下是Python中的代码片段: handle = win32gui.FindWindow(0, "DMCap")

我刚刚编写了一个简单的脚本来启动一个应用程序,我正在尝试使用“SendKeys”模块向这个应用程序发送击键。有一个
“快照”
按钮,但我无法让Python单击
“快照”
按钮,因为新窗口没有焦点。因此,我计划使用Win32gui模块的
Win32gui.FindWindow
Win32gui.SetForegroundWindow
功能。但它给了我
错误-无效句柄
。我的应用程序名为“DMCap”

以下是Python中的代码片段:

handle = win32gui.FindWindow(0, "DMCap")  //paassing 0 as I dont know classname 
win32gui.SetForegroundWindow(handle)  //put the window in foreground

有人能帮我吗?这段Python代码正确吗?我可以像这样直接发送句柄吗?

如果确实有一个名为“DMCap”的窗口,您的代码应该可以正常运行。要获取句柄和标题列表,请运行以下代码:

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()
for i in appwindows:
    print i
这将生成包含句柄、标题对的元组列表