Version 30 of COM

Updated 2003-04-02 09:19:15

Microsoft's Component Object Model [L1 ] ...


(COM: Some people associate DOS-style serial-line devices with this. Information about that is on this page: Serial Ports on Windows.)


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."


phk Sometimes an object browser can help.

  • ObjectScope [L3 ]
  • OleView: included in both MS Visual Studio and the Platform SDK
  • Visual Basic Object Browser: part of the Visual Basic environment.
  • application specific e.g. Word VisualBasic-Editor > Object Catalog
  • optcl:

[Somebody ought to write an object browser in Tk ...] optcl can help here.


COM on! - a tiny web browser


Category Acronym