OLE Automation

In Microsoft Windows applications programming, OLE Automation (later renamed to simply Automation[1][2]) is an inter-process communication mechanism created by Microsoft. It is based on a subset of Component Object Model (COM) that was intended for use by scripting languages – originally Visual Basic – but now is used by several languages on Windows. All automation objects are required to implement the IDispatch interface. It provides an infrastructure whereby applications called automation controllers can access and manipulate (i.e. set properties of or call methods on) shared automation objects that are exported by other applications. It supersedes Dynamic Data Exchange (DDE), an older mechanism for applications to control one another.[3] As with DDE, in OLE Automation the automation controller is the "client" and the application exporting the automation objects is the "server".

Contrary to its name, automation objects do not necessarily use Microsoft OLE, although some Automation objects can be used in OLE environments. The confusion has its roots in Microsoft's earlier definition of OLE, which was previously more or less a synonym of COM.

  1. ^ Microsoft Corporation (3 August 2021). "Automation (MFC)". MSDN.
  2. ^ KruJ.; Wingo, Scott; Shepherd, George (1998). "Chapter 25: Automation". Programming Microsoft Visual C++ 6.0 (5th ed.). Redmond, WA: Microsoft Press. ISBN 978-1-57231-857-1.
  3. ^ Gordon McComb (1997). "Using OLE Automation to Control WordPerfect". Archived from the original on 2017-08-15. Retrieved 2006-07-20. — McComb describes how to use OLE Automation instead of DDE to control WordPerfect