WinTables: ignore tables that are not visible, have parents, or appear to be other non-app styled windows
This commit is contained in:
parent
6a01a669f6
commit
e3859a8fc9
|
@ -56,12 +56,23 @@ class Table(Table_Window):
|
||||||
"""Finds poker client window with the given table name."""
|
"""Finds poker client window with the given table name."""
|
||||||
titles = {}
|
titles = {}
|
||||||
win32gui.EnumWindows(win_enum_handler, titles)
|
win32gui.EnumWindows(win_enum_handler, titles)
|
||||||
for hwnd in titles:
|
for hwnd in titles:
|
||||||
if titles[hwnd] == "":
|
if titles[hwnd] == "":
|
||||||
continue
|
continue
|
||||||
if re.search(self.search_string, titles[hwnd], re.I):
|
if re.search(self.search_string, titles[hwnd], re.I):
|
||||||
if self.check_bad_words(titles[hwnd]):
|
if self.check_bad_words(titles[hwnd]):
|
||||||
continue
|
continue
|
||||||
|
if not win32gui.IsWindowVisible(hwnd): # if window not visible, probably not a table
|
||||||
|
continue
|
||||||
|
if win32gui.GetParent(hwnd) != 0: # if window is a child of another window, probably not a table
|
||||||
|
continue
|
||||||
|
HasNoOwner = win32gui.GetWindow(hwnd, win32con.GW_OWNER) == 0
|
||||||
|
WindowStyle = win32gui.GetWindowLong(hwnd, win32con.GWL_EXSTYLE)
|
||||||
|
if HasNoOwner and WindowStyle & win32con.WS_EX_TOOLWINDOW != 0:
|
||||||
|
continue
|
||||||
|
if not HasNoOwner and WindowStyle & win32con.WS_EX_APPWINDOW == 0:
|
||||||
|
continue
|
||||||
|
|
||||||
self.window = hwnd
|
self.window = hwnd
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user