使用Windows API获取窗口的名称

时间:2012-07-16 19:48:01

标签: python winapi

我是python的新手,我正在尝试编写一个在某个窗口关闭时退出循环的脚本。我无法让代码正常工作,甚至无法进入循环。我想这是因为我没有正确获取窗口名称。我想知道Win32Gui扩展上是否有任何好的教程可以帮助我理解它是如何工作的。

修改

这就是我所拥有的,它正在做它想做的事情,但我确信有一种更简单的方法。

def answerCalls(local, network):
t = 0
count = 0
while t == 0:
    time.sleep(1)
    if win32gui.GetWindowText(win32gui.GetForegroundWindow()) == "Incoming Call":
        time.sleep(10)   
        getApplicationPos("Incoming Call")
        clickOnElement(******.IncomingCall_AnswerButton())
        time.sleep(10)
        if win32gui.GetWindowText(win32gui.GetForegroundWindow()) == "Video Call":
            count += 1
            writeFile("Answering Calls", count, local)
            uploadToServer(local, network)  

1 个答案:

答案 0 :(得分:4)

以下示例(Python 3)获取所有窗口的标题列表:

import win32gui

def enum_window_titles():
    def callback(handle, data):
        titles.append(win32gui.GetWindowText(handle))

    titles = []
    win32gui.EnumWindows(callback, None)
    return titles

titles = enum_window_titles()