2012-04-18 16 views
5

con python, voglio ottenere il titolo di una finestra, una finestra di software di magazzino.Come ottenere un titolo di finestra e scansionarlo ogni 100 ms usare python?

il titolo della finestra cambia quando sfoglio un altro supporto, ora voglio scansionarlo ogni 100 ms e restituire il nuovo titolo, ma il testo frontale nel titolo della finestra è lo stesso testo.

posso stampare il documento nella cmd, ma non so come eseguire la scansione ogni 100 ms e tornare

io uso questo codice:

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 

Come eseguire la scansione ogni 100 ms e restituire il nuovo titolo quando cambia?

+0

Dove si dispone di codice, rientrare in formato come codice, non mettere in un blockquote. Modificato per te. –

+0

scusa, errore mio. – sword

+0

Nessun problema, ora sai per la prossima volta. –

risposta

6

metterlo in un ciclo:

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 ..... Penso che la mia idea sia forse sbagliata. Voglio ottenere il titolo quando cambia, restituire il nuovo titolo e usare del testo nel titolo per i dati di query in sqlite, ora penso che lo scannerò ogni 100ms forse può 't work.so ...... Non ne ho idea ..... – sword

+0

1. Penso che questo risponda alla tua domanda. 2. cosa vuoi fare esattamente? – user850498

+0

sicuro, la tua risposta ripristina la mia domanda.ma può essere la mia idea è sbagliata.Il mio programma ha bisogno di per ottenere il titolo della finestra attiva o è il titolo della finestra principale, e restituire un nuovo titolo quando il titolo cambia, se nessuna modifica non fa nulla, come dovrei usare il gancio? – sword