Monitor ShellWindows

By: Steve Waring
Home Pages: Journal Dolphinharbor
Created: 20021228
Last Update: 20021228

Overview

Use the IShellWindows interface to access all open ShellWindows, including InternetExplorer and WindowsExplorer windows. The ExplorerMonitor package makes use of Dolphin's Active-X event sinks to track changes to the list of open windows, and to track when each window changes its location.

Background

This is based on the information found in the Codeguru enumIE article.

Explorer Monitor

Explorer Monitor

The above screenshot is from the ToGo ExplorerMonitor sample.

Usage

I wrote these classes a couple of months ago and ran the test ToGo for a couple of weeks to see if any problems showed up. Since then, I have made use of the lower-level methods in the DHE ShellWindows package to poll the Shell for a collection of open windows.

I have not made use of the classes in DHE ExplorerMonitor. These classes attempt to stay synchronized with the Shell by handling certain Active-X events. I have not as yet needed this functionality, however it could form the base of some interesting utility applications.

Downloads

This is released as TestWare; if you have any problems running this in your environment please let me know about it. It has been run successfully on WinXP, Win2k, and Win98 machines.

The DHEExplorerMonitor_3.zip (50k) contains three packages;

The DHEExplorerMonitorToGo.zip (591k) is a test ToGo application.

How it works

See the DHE ExplorerMonitor.pac package comment and ExplorerMonitor/ExplorerObject class comments


Copyright Steve Waring 2002.