I am trying to write a replacement for Alt-TAB in Windows XP using python Win32 extensions. I am first just trying to build a list of all tasks that are in the taskbar; on Windows, these seem to be the same tasks that are listed in the Alt-TAB box. I pieced together the following code from various places:
----------------------------------------------------------------------------- from win32gui import * def windowEnumerationHandler(hwnd, resultList): '''Pass to win32gui.EnumWindows() to generate list of window handle, window text tuples.''' if IsWindowVisible(hwnd): txt = GetWindowText(hwnd) if (len(txt) > 0): resultList.append((hwnd, GetWindowText(hwnd))) windows = [] EnumChildWindows(GetDesktopWindow(), windowEnumerationHandler, windows) for w in windows: print "%10s %s" % (w[0], w[1]) ----------------------------------------------------------------------------- However, when it runs, it gives me more than the active applications: C:\home\rutt\dev\win32tasks>python tasks.py 65624 start 65628 2:45 PM 65632 Notification Area 65648 Running Applications 65652 Running Applications 1245338 C:\WINDOWS\system32\cmd.exe - python tasks.py 1508856 Emacs (Fundamental) <[EMAIL PROTECTED]> tasks.py 1115660 TaskSwitchXP 1639818 FolderView 525314 Emacs (Group) <[EMAIL PROTECTED]> *Group* 17761604 My eBay Selling: Items I'm Selling - Mozilla Firefox 1770594 XTerm akron:~/archive/papers 2884722 XTerm tg-login4:~ 4850694 PostMsg 2688224 FolderView 1114280 XTerm ruttlap:~/dev/win32tasks 656324 CodeGuru: PostMsg - Post a message to any window on the desktop - Mic rosoft Internet Explorer 2753618 Google 3408896 ActivePython 2.4 - Online Docs : Constants - Microsoft Internet Explo rer 1050106 Google 918526 Small Values of Cool: Driving win32 GUIs with Python, part 1 - Micros oft Internet Explorer 984590 Google 2164086 WINDOWINFO - Microsoft Internet Explorer 657032 Google 65660 Program Manager 65664 FolderView There are a few problems with the above output: 1) The first few Windows do not look like they correspond to any task bar entries at all. 2) "FolderView" is displayed for Windows Explorer open folders; I would really like to have the name as it exists in the title bar instead Does anyone know the appropriate functions to call to narrow down these window handles to just those that are present in the taskbar? Thanks, -- Benjamin Rutt _______________________________________________ Python-win32 mailing list Python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32