如何使用python获取窗口标题并每隔100ms扫描一次?

时间:2012-04-18 11:05:42

标签: python win32gui

使用python,我想获得一个窗口标题,一个股票软件窗口。

当我浏览另一个股票时,窗口的标题会改变,现在我想每100ms扫描一次并返回新标题,但窗口标题中的前面文本是相同的文本。

我可以在cmd中打印标题,但我不知道如何每隔100ms扫描一次并返回

我使用此代码:

from win32gui import * import re

titles = set() 
titlekey = ''

def foo(hwnd,nouse):
    if IsWindow(hwnd) and IsWindowEnabled(hwnd) and IsWindowVisible(hwnd):
        titles.add(GetWindowText(hwnd))

EnumWindows(foo, 0) 
lt = [t for t in titles if t] 
lt.sort() 
for t in lt:
    if re.match(titlekey,t):
        print t

如何扫描每100毫秒并在更改时返回新标题?

1 个答案:

答案 0 :(得分:8)

把它放在一个循环中:

import win32gui
tempWindowName=win32gui.GetWindowText (win32gui.GetForegroundWindow())
import time
while True:
    if (tempWindowName==win32gui.GetWindowText (win32gui.GetForegroundWindow()))
        pass
    else
        tempWindowName=win32gui.GetWindowText (win32gui.GetForegroundWindow())
        #do what you want
    time.sleep(0.1)