"Mark Hammond" <[EMAIL PROTECTED]> writes:
>> Does anyone know the appropriate functions to call to narrow down
>> these window handles to just those that are present in the taskbar?
>
> Checking the window is a "top-level" window gives a better result for me.
> ie:
>
> if IsWindowVisible(hwnd) and not GetWindowLong(hwnd, win32con.GWL_STYLE)
> & win32con.WS_CHILD:
Thanks for the suggestion. I do have some problem executing this kind
of code however. The callback seems to exit early, around the call to
GetWindowLong(). The following code and output support this analysis:
-----------------------------------------------------------------------------
import win32con
from win32gui import *
gwl_style = win32con.GWL_STYLE
print 'GWL_STYLE', gwl_style
def windowEnumerationHandler(hwnd, resultList):
'''Pass to win32gui.EnumWindows() to generate list of window handle, window
text tuples.'''
if IsWindowVisible(hwnd):
print 'hi1'
val = GetWindowLong(hwnd, gwl_style)
print 'hi2'
txt = GetWindowText(hwnd)
resultList.append((hwnd, txt))
print 'hi3'
windows = []
EnumChildWindows(GetDesktopWindow(), windowEnumerationHandler, windows)
for w in windows:
print "%10s %s" % (w[0], w[1])
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
C:\home\rutt\dev\win32tasks>python tasks.py
GWL_STYLE -16
hi1
hi1
hi1
hi1
hi1
[...]
hi1
hi1
C:\home\rutt\dev\win32tasks>
-----------------------------------------------------------------------------
Any ideas what I might be doing wrong? FYI, I am using a older
version of Python (2.0) and win32all (I downloaded one that went with
the 2.0 release...Add/Remove programs shows "Python 2.0 combined Win32
extensions"). Also using Windows XP SP2. Thanks,
--
Benjamin Rutt
_______________________________________________
Python-win32 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-win32