See also "Using Tcl to write WWW client side applications within the WWW browser", "BrowseX", "Invoking browsers", ...
I'll explain this at some point:
package require tcom wm overrideredirect . on pack [canvas .c -background blue -height 20 -width 20] proc paste_on_top_IE toplevel { set application [::tcom::ref getactiveobject \ InternetExplorer.Application] wm geometry . +[$application Left]+[$application Top] raise . update idletasks after 300 [list paste_on_top_IE $toplevel] } paste_on_top_IE .
Notice the use made of tcom.
[Eventually explain Browser Helper Objects, XUL, toolbar SDK, ...]
Intermediate-level browsing: communication with an existing browser instance, as opposed to invoking browsers: under Unix, netscape recognizes a -remote flag, to try to re-use an existing browser process. Also, Netscape (and other browsers) respond to a few DDE commands, and http://www.neosoft.com/tcl/ftparchive/sorted/net/netscape-remote-v1.2/ is a Unix(-only?) extension for communication with Netscape.