ActiveX controls are among the many types of components that use COM (Component Object Model) technologies to provide interoperability with other types of COM components and services. ActiveX controls are the third version of OLE (Object Linking and Embedding) controls (OCX), providing a number of enhancements specifically designed to facilitate distribution of components over high-latency networks and to provide integration of controls into Web browsers. These enhancements include features such as incremental rendering and code signing, to allow users to identify the authors of controls before allowing them to execute.
An ActiveX control can be automatically downloaded and executed by a Web browser. Programmers can develop ActiveX controls in a variety of languages, including C, C++, Visual Basic, and Java.
An ActiveX control is similar to a Java applet. Unlike Java applets, however, ActiveX controls have full access to the Windows operating system. This gives them much more power than Java applets, but with greater risk. To control this risk, Microsoft developed a registration system so that browsers can identify and authenticate an ActiveX control before downloading it. Another difference between Java applets and ActiveX controls is that Java applets can be written to run on all platforms, whereas ActiveX controls are currently limited to Windows environments.
The ActiveX controls are almost fully emulated on Netscape with the matching plugin except for Internet Explorer's event handler, which is often used with the callback functions of some controls like Real Player or Windows Media Player. The only way to catch events with Netscape Navigator is to use a technology called LiveConnect with a java applet.
Needless to say, it works poorly.
source : msdn library, webopedia