之前写了一个调用OCX的winfrom程序,之前运行一直好使,但是突然一天,初始化控件报错,找不到指定模块。。。。。
尝试重新下载ocx,加载ocx,失败。
尝试使用之前程序生成的dll文件失败。
最后发现电脑没有注册ocx,好吧下载去注册一下吧!
以前在web端读取pdf格式都是在客户端安装adobe软件,现在为了满足不在客户端安装adobe软件也可以读取pdf格式文件,所以就用了金格的一款ocx组件,解决了客户端不安装pdf格式软件也可以读取pdf格式文件。下面就说说支持ocx组件的环境。
一、如果你是win7 64位操作系统 找到 C盘----->Windows文件夹---->system32 并且system64文件夹,把命名为ocx(此demo是iwebpdf.ocx)的文件放入system32 并且system64下即可。
二、如果你是win7 32 或者windowsxp系统 找到 C盘----->Windows文件夹---->system32 ,把命名为ocx(此demo是iwebpdf.ocx)的文件放入system32即可。
三、把文件夹放入上述路径下,然后wins+R 打开命令窗体,开始执行"regsvr32 iWebPDF.ocx"此命令,此时会提示注册组件成功。
四、ocx组件注册成功后 执行一遍第三方提供的"IEExecute.exe"文件,该文件执行成功后进入下一步。
五、exe执行成功后,然后wins+R 打开命令窗体,输入"regedit"命令,打开注册表,找到"HKEY_CLASSES_ROOT--->CLSID",查看CLSID下是否有一个节点与第三方提供的那个节点一致,如果有的话就证明ocx组件是真正的注册成功已写入注册表里,如果没有找到不用担心,可以手动加一个节点,需要注意到是手动加节点路径要与之前所放文件路径一致,否则会找不到。
下面也记录一下如何使用ocx吧,
在工具箱邮件,选择"选择项",选择com组件,浏览路径添加。
在from加载需要实例化ocx的组件信息。
private AxOPERATIONCARDLib.AxOperationCard _operation;
_operation = new AxOperationCard();
_operation.BeginInit();
this.Controls.Add(_operation);//add test
_operation.Visible = false;
_operation.EndInit();
_operation.CreateControl();
}
OCX使用命令生成dll文件
1、启动VS开发人员命令面板/
2、切换到ocx文件目录
3、aximp name.ocx
则会在响应目录下生成两个dll文件。
如果需要注册
regsvr 32 name.ocx