Microsoft's Component Object Model [L1 ] ...
tcom offers both client and server COM functionality.
This is also included in recent ActiveTcl releases.
optcl ...
TclScript also is COM-aware.
TCLBridge allows Tcl to call COM objects and vice-versa. Very powerful, lots of options.
COSH ...
Many popular Microsoft Windows applications expose a COM automation [L2 ] interface, which allows external programs to launch and control them. The starting point to an application's COM automation interface is through its programmatic identifier (ProgID). Here are a few example ProgID's, any of which might be used in, for instance, tcom with
set application [::tcom::ref createobject $ProgID] Netscape.Network.1 [http://developer.netscape.com/docs/manuals/communicator/OLE/ole2net.htm] FrontPage.Editor.Document Word.Document (note that WordPad is ''not'' a COM server) InternetExplorer.Application Excel.Application Excel.Application.8 PDF.PdfCtrl.1 Word.Application DSOleFile.PropertyReader
How one discovers the API for a COM-exporting application of interest.
[Explain relation between COM and WSH.]
Alex Martelli: "COM-related technologies seem mostly pretty good, except for the little detail that they're often huge, rambling, and full of redundancies and pitfalls -- this goes for the object model of WMI just as well as for those of MS Office applications."