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, ...]
Communication with an existing browser instance, as opposed to invoking browsers:
Yes, it does, eventually. There is a Tcl-extension that does the same thing (communicating with Netscape using X Window Properties) without starting another instance of Netscape, which works much faster (almost instantly and without any overhead). I haven't tried it with recent versions of Tcl/Tk, though.
ftp://ftp.procplace.com/pub/tcl/sorted/net/netscape-remote-v1.2/