C语言使用ActiveX控件

ActiveX使用的头文件,是只有C++才能用的,C语言要使用ActiveX控件,也是件很容易的事。 微软标准的ActiveX控件,根本上它还是一个窗口(Window),通俗地说就是关联了一个或多个COM对象窗口。这个窗口当然可以通过CreateWindowEx函数创建。 大家都知道,CreateWindowEx要指定一个类名和窗口名,类名是通过RegisterClassEx注册的窗口类的类名,而窗口名则视情况,对于APPWINDOW类型的窗口来讲,窗口名就是窗口标题。很幸运的事,运行ActiveX控件的窗口的窗口类(也可以说是ActiveX控件宿主窗口),微软已经帮我们实现,只要调用ATL库(atl.dll)里的初始化函数AtlAxWinInit,即可实现注册,类名为”AtlAxWin”。类名有了,在CreateWindowEx的时候还要指定窗口名为ActiveX控件的CLSID,即可成功创建ActiveX宿主窗口。 要获得窗口里的COM对象,通过ATL库里函数AtlAxGetControl即可获得。其它的工作就是操作COM对象的工作了。 建议在C语言里用LoadLibrary加载atl.dll,然后再使用里面的这两个函数。 写了一个实现的代码段: