如果在程序中使用了OCX控件,在开发阶段,可以使用Windows的程序来注册这个控件,如:
regsvr32 ccrpftv6.ocx
regsvr32 filevw61.ocx
如果取消注册的话:
regsvr32 /u ccrpftv6.ocx
regsvr32 /u filevw61.ocx
但是,如果程序写好了,要将其发布出去,不可能让用户自己去运行这个命令,那么怎么办呢?
办法有很多,其中之一是在安装程序(比如InstallShield)中来注册,另外一个办法就是在程序中自动进行注册。
此处,我们只讨论在程序中进行OCX注册的问题。
我们知道,OCX文件中都有一个接口DllRegisterServer,这个接口就是用来注册自身的,所以,问题变得非常简单,首先,声明一个外部函数:
Function long DllRegisterServer() Library "ccrpftv6.ocx"
然后在程序中进行调用:
DllRegisterServer()
但是,如果我们的程序中使用了多个OCX,而每个OCX的注册接口都是DllRegisterServer,怎么办呢?这个问题可以用alias关键字来解决,如:
Function long DllRegisterServer_ccrptv6() Library "ccrpftv6.ocx" alias for "DllRegisterServer"
Function long DllRegisterServer_filevw61() Library "fi