Iconizer: An Example of a Systemwide Hook

This button minimizes an application, removes the icon window
out of the taskbar and puts an icon in the systemtray, freeing
up more space on the taskbar this way.

A left mouse click on the icon will restore the window, while a
right mouse click will popup the system menu of the corresponding window.

The project includes full working binaries that can be used as-is.
All source code is included which can be useful as example or reference
on how to implement a system wide hook in general.

File List

1. Files you need

   All files you need are zipped in the Install folder.

   1.1. You will need following files to run Iconizer:
        - iconizer.exe    -> system wide hook loader
        - iconizer.dll    -> system wide hook provider
        - iconizer.ini    -> list of applications to exclude from hook,
                             this file must reside in the Windows directory

   1.2. Following files manipulte the registry to start/stop
        automatic loading of Iconizer after login:
        - install.reg     -> start Iconizer at startup
        - uninstall.reg   -> stop loading Iconizer at startup

        Remark: The default path in the .reg files is c:utilsiconizer
                Change this path if iconizer.exe is located somewhere else.

   1.3. Other files:
        - readme.txt      -> short orientation


2. Source code

   2.1. System wide hook loader
        - All source code is zipped in the IconizerApp folder.
        - This application is actually a tiny MFC application that
          runs in stealth mode and loads the system wide hook.

   2.2. System wide hook provider
        - All source code is zipped in the IconizerDll folder.
        - This application is actually a Windows Win32 DLL that implements
          the system wide hook.

Requirements

Iconizer requires Windows NT SP3 (or higher) or Windows 2000.
Iconizer is not fully tested on Windows 95/98/Me, but will probably
run on these platforms.

Other

  1. The author is not, and will not be, responsible for any damage caused by using iconizer.
  2. Bugs and comments can be reported at bgysens@tijd.com.

Thanks

Many thanks to the people who helped in the realisation of Iconizer,
in special to Henk De Vos, all the guys who provided
comments at codeguru.com and some colleagues at ERG Transit Systems
for beta testing and feedback.

Downloads

Download demo project – 235 Kb

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read