2012-04-18 22 views
5

con python, quiero obtener un título de ventana, una ventana de software de stock.¿Cómo obtener un título de ventana y escanearlo cada 100ms? ¿Usar Python?

El título de la ventana cambiará cuando busco en otro archivo, ahora quiero escanearlo cada 100ms y devolver el nuevo título, pero el texto frontal en el título de la ventana es el mismo.

puedo imprimir el título en cmd, pero no sé cómo escanear cada 100 ms y volver

utilizo este código:

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 

Cómo escanear cada 100 ms y devolver el nuevo título cuando cambia?

+0

Dónde tiene código, sangría a formato como el código, no lo ponga en un blockquote. Editado para ti –

+0

lo siento, mi error. – sword

+0

No se preocupe, ya sabe para la próxima vez. –

Respuesta

6

lo puso en un bucle:

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) 
+0

em ... Creo que mi idea puede ser incorrecta. Quiero obtener el título cuando cambie, devolver el nuevo título y usar texto en el título para consultar datos en sqlite, ahora creo que puedo escanearlo cada 100 ms. 't work.so ...... No tengo idea ..... – sword

+0

1. Creo que esto responde a su pregunta. 2. ¿Qué quieres hacer exactamente? – user850498

+0

seguro, su respuesta resuelve mi pregunta, pero puede ser mi idea incorrecta.mi programa necesita para obtener el título de la ventana activa o el título de la ventana principal, y devolver el título nuevo cuando cambie el título, si no hay cambio y no hacer nada, cómo ¿Debería hacer? ¿Usar gancho? – sword

Cuestiones relacionadas