WinExplorer v1.30
Copyright (c) 1999 - 2003 Nir Sofer

Description

WinExplorer is a utility that shows all system's windows in hierarchical display.
For every window in the hierarchy, you can view its properties, like handle, class name, caption, size, position and more. You can also modify some properties, like Caption and Visible/Enabled.
You can use this utility in all Win32-based operating systems: Windows 95,98,ME,NT,2000,XP

License

This utility is released as freeware with full source code. You can freely use, distribute, and modify the source code of this utility without restrictions. However, if you release to the public a modified version of this utility, you should specify the original copyright notice.

Disclaimer

The software is provided "AS IS" without any warranty, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The author will not be liable for any special, incidental, consequential or indirect damages due to loss of data or any other reason.

Version History

Date | Version | Description
10/07/2003 1.30
  • Added Module file in 'More' tab
  • Fixed "Destroy Window" problem
  • Fixed problem with hang windows.
  • The source code of this utility is now included.
05/03/2002 | 1.21 | Added process and thread information.
25/12/2001 | 1.20 | Added find module and automatic refresh option.
02/09/2001 | 1.12 | Added "catch window by mouse" option.
30/05/2001 | 1.11 | Added Z Order options.
06/12/2000 | 1.10 | Added Font and position tabs.
19/04/2000 | 1.03 | Added "Destroy window" button.
12/03/2000 | 1.02 | The ability to modify the caption was added.
09/02/2000 | 1.01 | The ability to modify the Visible and Enabled properties was added.
22/12/1999 | 1.00 | First Release.

Installing WinExplorer

This utility doesn't provide any automatic installation process, but you can easily install it by yourself.
In order to start using it, copy the executable (winexp.exe) into any folder you want. If you want to run it on Windows NT (version 4.0), you should also copy the psapi.dll into your system32 directory. If this file is already installed on your system, you don't have to overwrite it.
For All other operating systems (Windows 95,98,ME,2000,XP), you don't need to install the psapi.dll at all.

Using WinExplorer


Using WinExplorer

In the following page, you'll learn about the options and features of WinExplorer Utility:

The WinExplorer Options dialog

When you click the options button in the main WinExplorer window, you get a dialog with a few options to set. All options you change are automatically saved in Registry and thus WinExplorer always remembers the last options settings.

The following options are available:

  • Hide top hidden windows: If this option is selected, all windows in the top of the hierarchy are shown even if they are hidden. If this option is cleared (the default), the hidden windows in the top of the hierarchy are not shown.
  • Show full windows hierarchy: By default, this option is selected. If this option is cleared, all child windows will be shown under the top-windows branches without showing the hierarchical relationships between them.
  • Catch window by mouse position: This option allows you to easily find a windows located on the screen. In order to use this option, select the key combination that will activate the windows catching. when you press the key combination you selected, the window located behind the mouse cursor will be instantly selected in the windows tree.
  • Use window icon in top windows: If this option is selected (the default), WinExplorer use the window's icon in order to represent the top-window on the screen. otherwise, all top-windows will be represented with the same icons.
  • Automatically refresh each X seconds: If you select this option, the windows tree will be automatically refreshed each X seconds.

Finding a window with find dialog

You can use the find dialog in order to search a window in the window tree. You can search a window by its caption, class name or item ID. If the window is found, it'll be instantly selected in the windows tree.

Window Properties

When you select a window in the windows tree, its properties are shown in the section below the windows tree.
The properties section contains 7 different properties tabs:
  • General Tab:Shows the basic properties of a window, like handle, caption, class name and more.

    You can also change some properties that affect the window behavior:

    • Caption: When you change the text in the caption field and click "modify" button, The caption of the selected window will be modified instantly.
    • Visible: If you clear this check-box, the window will be hidden. If you select it, the window will be shown on the screen.
    • Enabled: If you clear this check-box, the window will be disabled. If you select it, the window will be enabled.
    • Destroy Window button: This option allows you to destroy a window. You should be aware that destroying a window of an application might cause unexpected behavior of the application.
  • Size & Position Tab: Shows the size and position properties of the selected window.

    You can use the following options in order to change the position and the size of a window:

    • Left, Top, Width and Height: When you change the values of these fields and click "modify" button, the size and the position of the window is changed instantly.
    • Window State: You can maximize, minimize or change to normal state of the window by clicking the right option.
    • Z Order buttons: You can use these buttons in order to "play" with the Z Order of windows.

  • Font Tab: Shows the font properties of a window. WinExplorer cannot discover the font in all windows, only in part of them. If it cannot determine which font appears in a window, we'll see "Unknown" in the font name field.

  • Class Information Tab: Shows the properties of the window class: Class Name, Class Icon, WndProc Address, number of extra bytes in each window and more...

    The filename field is the most useful and interesting field in the Class Information tab. It represents the module that created the window class.
    Here's some examples:

    • For TreeView control (and other new controls that were added in Windows 95/NT), the class filename is comctl32.dll, because this module creates and maintains the TreeView control in Windows operating systems.
    • For standard controls and forms of Visual Basic applications, the class filename is msvbvm50.dll or msvbvm60.dll depending on which version of VB the application was created.
    • If the window is an ActiveX control, the class filename is the control's OCX file.

  • More Tab: Shows the Process and the Thread that created the selected window.

  • Style Tab: Shows all bits of the window style. You are allowed to change the style bits, by selecting and clearing the style check-boxes. Be aware that the style changing doesn't always affect the window.

    The left section of this tab represents the standard style bits for all windows. The style bits in the right section represents specifically styles for each window class. (For example: The styles of standard Edit control are: ES_LEFT, ES_CENTER, ES_RIGHT, ES_MULTILINE, etc. )

  • Extended Style Tab: Shows all bits of the extented styles. You are allowed to change the extended style bits, by selecting and clearing the style check-boxes. Be aware that the style changing doesn't always affect the window.