[转帖]OCX控件注册
几种方法供参考:<BR> 1、在Windows命令行或DOS下运行:regsvr32 ocxname.OCX <BR> 2、用Install Shield 做安装程序时,在里面选“Self-Registered”,安装程序将自动注册。<BR> 3、在PB程序中调用regsvr32实现,安装程序只需负责将OCX拷贝到相应路径下,这个路径PB程序必须可以得到,建议拷贝到Windows系统目录或者与执行文件同目录下。<BR> 具体代码:<BR> //首先定义API函数,如果OCX控件在与执行文件同目录下,使用GetCurrentDirectory函数;如果OCX控件放在系统目录下,使用GetSystemDirectory函数。<BR> Function ulong GetCurrentDirectory(ulong nBufferLength,ref string lpBuffer) Library "kernel32.dll" Alias for "GetCurrentDirectoryA"<BR> Function uint GetSystemDirectory(ref string lpBuffer,uint uSize) Library "kernel32.dll" Alias for "GetSystemDirectoryA"<BR> //假设OCX文件在Windows系统目录下,在PB应用(Application)的Open事件编写如下代码:<BR> string ls_PathName,ls_Command<BR> ulong ll_RequiredBufferSize<BR> ls_PathName = Space(255)<BR> ll_RequiredBufferSize = GetSystemDirectory(ls_PathName,255)<BR> IF ll_RequiredBufferSize=0 or ll_RequiredBufferSize>255 THEN<BR> //报错信息<BR> else<BR> ls_Command = "Regsvr32 /s " + "~"" + ls_PathName + "\Myocx.ocx" + "~""<BR> Run (ls_Command)<BR> …<BR> End if<BR> Regsvr32后面的"/s"执行参数是为了隐藏注册成功消息框。 <BR> (此种方法由张涛提供)<BR> 4、在PB应用程序中注册:<BR> 函数声明:<BR> Function long DllRegisterServer() Library "ocxname.OCX"<BR> 调用:<BR> LONG ll_RC<BR> ll_RC = DllRegisterServer()<BR>
页:
[1]