2012-04-18 7 views
5

mit Python, möchte ich einen Fenstertitel, ein Stock-Software-Fenster zu bekommen.Wie bekomme ich einen Fenstertitel und scanne ihn alle 100ms mit Python?

Der Fenstertitel ändert sich, wenn ich einen anderen Bestand durchsuche, jetzt möchte ich ihn alle 100ms scannen und den neuen Titel zurückgeben, aber der vordere Text im Fenstertitel ist der gleiche Text.

ich den Titel in cmd drucken können, aber ich weiß nicht, wie es alle 100ms scannen und das Rück

ich diesen Code verwenden:

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 

Wie alle 100ms zu scannen und kehrt die neuer Titel wenn es sich ändert?

+0

Wo Sie Code haben, einrücken es als Code zu formatieren, kann es nicht in einem Blockquote setzen. Für Sie bearbeitet. –

+0

Entschuldigung, mein Fehler. – sword

+0

Keine Sorge, Sie wissen jetzt für das nächste Mal. –

Antwort

6

es in einer Schleife Put:

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 ..... Ich denke, meine Idee vielleicht falsch.Ich möchte den Titel, wenn es ändern, den neuen Titel, und verwenden Sie einen Text im Titel, um Daten in Sqlite Abfrage, jetzt denke ich scanne es alle 100ms vielleicht kann 't work.so ...... Ich habe keine Ahnung ..... – sword

+0

1. Ich denke, das beantwortet Ihre Frage. 2. Was willst du genau machen? – user850498

+0

sicher, Ihre Antwort Resover meine Frage.aber möglicherweise meine Idee ist falsch.my Programm muss , um den Titel des aktiven Fensters oder des übergeordneten Fensters Titel zu bekommen, und geben Sie einen neuen Titel, wenn der Titel ändern, wenn keine Änderung dann nichts tun, wie Soll ich das tun? Haken benutzen? – sword