Python win32gui Kind Fenster zu finden,
Frage
zum Beispiel zunächst haben Sie Hwnd von skype
findenhwnd = win32gui.FindWindow(None, 'skype')
und als alle seine Kinder Fenster und deren Titel
child = ???
irgendeine Idee?
Lösung
Dieser Code zeigt hwnd
von EditPlus Kind Fenster, die WindowsText
von einiger Länge hat:
Bearbeiten
Du musst hwnd
Ihre Anwendung finden, und dann verwenden Sie diesen Griff mit EnumChildWindows
. Ich verlängerte Beispielcode mit ihm. Sobald Sie Anwendung hwnd
bekommen können Sie nur die Fenster aufzuzählen. Wenn Sie 0 als hwnd
zu EnumChildWindows
geben Sie Griffe aller runing Fenster bekommen. Fügen Sie einige Abzüge zu meinem Code und überprüfen Sie es!
Erweiterte Code:
import win32gui
MAIN_HWND = 0
def is_win_ok(hwnd, starttext):
s = win32gui.GetWindowText(hwnd)
if s.startswith(starttext):
print s
global MAIN_HWND
MAIN_HWND = hwnd
return None
return 1
def find_main_window(starttxt):
global MAIN_HWND
win32gui.EnumChildWindows(0, is_win_ok, starttxt)
return MAIN_HWND
def winfun(hwnd, lparam):
s = win32gui.GetWindowText(hwnd)
if len(s) > 3:
print("winfun, child_hwnd: %d txt: %s" % (hwnd, s))
return 1
def main():
main_app = 'EditPlus'
hwnd = win32gui.FindWindow(None, main_app)
print hwnd
if hwnd < 1:
hwnd = find_main_window(main_app)
print hwnd
if hwnd:
win32gui.EnumChildWindows(hwnd, winfun, None)
main()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow