在python中枚举子窗口?

2024-10-06 11:19:39 发布

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

我已经用c++摸索了一年左右,决定尝试一下python,因为它的语法要简单得多,而且可以在我还在学习的时候提高生产率(我想!)。我试图从windows桌面应用程序的父窗口枚举所有子窗口。在

import win32ui

def WindowExists(windowname):
    try:
        win32ui.FindWindow(None, windowname)

    except win32ui.error:
        return False
    else:
        return True

appFind = "Test Application"

if WindowExists(appFind):
    print ("Program is running")
    hwnd = win32ui.FindWindow(None, appFind)

else:
    print ("Program is not running")

到目前为止,我识别应用程序没有问题,但我想知道我的hwnd赋值是否像我认为的那样在c++环境中工作,这样我就可以将hwnd赋值传递给enumchildwindows。不过,我不太清楚我是怎么把孩子们从这里弄出来的。在

我还有一个问题,不是只使用应用程序的标题,而是如何使用句柄?例如,如果句柄类似于testapplication的00130903。我记得有几个月我在c++里搞砸了这样的东西,我想你可以用x来代替手柄上的第一组零(或类似的东西),但我真的记不清其中的大部分,所以希望你们能帮忙!在

编辑-

TypeError:对象不是PyHANDLE对象。在

我想我的假设就在这里,我没有正确地分配一个名为hwnd的正确句柄,这是我在尝试使用enumcldwindows或win32时遇到的错误上下文,任何通过标题和句柄正确设置句柄的示例都将不胜感激!在


Tags: none应用程序returnisprogram句柄runningelse
1条回答
网友
1楼 · 发布于 2024-10-06 11:19:39

hwnd = win32ui.FindWindow(None, appFind),用于验证windows是否存在

hwnd = win32gui.FindWindow(None, appFind),允许我使用句柄!活着,我们学习!在

相关问题 更多 >