首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python: win32gui.SetForegroundWindow

Python: win32gui.SetForegroundWindow
EN

Stack Overflow用户
提问于 2013-05-27 18:13:28
回答 1查看 14.4K关注 0票数 3

我刚刚写了一个简单的脚本来启动一个应用程序,我正在尝试使用"SendKeys“模块向这个应用程序发送击键。有一个"Snapshot"按钮,但我不能让Python点击"Snapshot"按钮,因为新窗口不在焦点中。因此,我计划使用Win32gui模块的win32gui.FindWindowwin32gui.SetForegroundWindow功能。但它给了我error- invalid handle。我的应用程序名是"DMCap“

以下是Python中的代码片段:

代码语言:javascript
复制
handle = win32gui.FindWindow(0, "DMCap")  //paassing 0 as I dont know classname 
win32gui.SetForegroundWindow(handle)  //put the window in foreground

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

EN

回答 1

Stack Overflow用户

发布于 2013-05-27 22:06:04

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

代码语言:javascript
复制
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

这将产生一个包含句柄、标题对的元组列表。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16770909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档