An ActiveX control is essentially a simple OLE object. Originally, ActiveX controls were called "OLE controls" and used a .ocx file extension. This was actually the second-generation component architecture. The first generation was the Visual Basic Controls (.vbx). OLE controls were renamed ActiveX and continue to use the .ocx extension. ActiveX controls enable a program to add functionality by calling ready-made components that blend in and appear as normal parts of the program. They are typically used to add user interface functions, such as 3D toolbars, a notepad, calculator or even a spreadsheet.
Within the context of a compatible web browser, ActiveX controls can be linked to a web page and downloaded by the browser. These controls turn web pages into software as if the program was launched from the server. As with any executable program, ActiveX controls can perform data operations. This is why the default configuration for most web browsers is to prompt the user if an ActiveX control is being requested so that the user can decide whether or not to run the control.
COM is really the heart of ActiveX - for example, if you have ever inserted an Excel spreadsheet object into Microsoft Word, you can see that although only Word is open, you can still work with the Excel spreadsheet normally. This is referred to as embedding - when one type of document or application is placed inside another.
- Stand-Alone, Client or Server: In this scenario the ActiveX control resides on the stand-alone machine and is invoked from a host program.
- Stored on a LAN, but run locally: In this scenario, the host program invokes the ActiveX control, but it must request it from the LAN Server over SMB first if it is not already installed. The control is downloaded to the local machine and then run locally.
- Stored on a Web Server, run locally: This is the scenario with which most people are familiar. A user accesses a web page that requires an ActiveX control (for example http://windowsupdate.microsoft.com). If the required version of the ActiveX control is not already installed on the user's machine, then the user is notified that an ActiveX control is required (assuming that the security settings are set to default). If the user trusts the site and the ActiveX then they allow the control to be downloaded and installed, at which point they have access to the functionality provided by the control for use on that web site.