is a component object model
(COM) developed by Microsoft
. By using the COM
runtime, developers can create software components
that perform a particular function or a set of functions. A software can then compose
one or more components in order to provide the functionality it intends to. Many Microsoft Windows
applications — including many of those from Microsoft
such as Internet Explorer
, Microsoft Office
, Microsoft Visual Studio
, Windows Media Player
, etc. — use ActiveX controls to build their feature set as well as encapsulate their functionality as ActiveX controls so that the functionality can be embedded in other applications. Internet Explorer
also allows the ActiveX controls to be embedded inside web pages
Prior to ActiveX technology, two standards were becoming prevalent in Microsoft Windows. One was OLE
(Object Linking and Embedding), and the other was COM
(Component Object Model). Both schemes were designed for software interoperability
, the former focusing on communicating and the latter focusing on implementation. In 1996
, Microsoft combined the technologies and refitted them into ActiveX.
The Microsoft Office suite is an example of ActiveX-compliant software. Using certain programming languages, a developer can manipulate documents and spreadsheets from code as if they were using the applications directly.
ActiveX controls are small program building blocks that can be used to create distributed applications that work over the Internet through web browsers. Examples include customized applications for gathering data, viewing certain kinds of files, and displaying animation.
ActiveX controls can be compared in some sense to a Java applet, since both are designed to be downloaded and executed from web browsers. However, there are a few differences. Java applets can run on nearly any platform, while ActiveX components are only compatible with Microsoft's Internet Explorer web browser and the Microsoft Windows operating system. ActiveX controls are also granted a much higher level of control over Windows than Java applets, making them both more powerful and dangerous. Malware, such as computer viruses and spyware, is often distributed as ActiveX controls in webpages.
ActiveX controls can be written in MFC, ATL, C++, C#, Borland Delphi and Visual Basic. Common examples of ActiveX controls are the command button, list box, dialog boxes, and even the Internet Explorer browser.
Other ActiveX technologies
Microsoft has developed a large number of products and software platforms using ActiveX objects, and many are still in use today.
In the late 1990s Microsoft began to reuse the term "Active" in a large number of their technologies. The following technologies are unrelated to ActiveX itself, but have similar naming: