当前位置:主页>销售管理软件> 列表

高分讨论:知道ActiveX的名称,如何用代码知道它的OC 找速达财务软件免费版

销售管理软件版1楼: 知道ActiveX的名称,如何用代码知道它的.OCX文件名?

2楼: 我想出800分,为何论坛不让? 如速达财务软件免费版

3楼: 有什么好的想法,请大家畅谈:

4楼: OCX的注册信息在注册表里,察看注册表应该就可以得到OCX文件的名字和路径,不过要验证是不是有效就是了.

5楼: 在注册表的什么地方,请说详细些,谢谢!

6楼: 刚才试了,从注册表中搜索,太慢了,Com机制不可能是那样的,我们平时用OCX开发的软件,启动也没那么慢!

就是说我们软件用到的OCX是不是已经注册了?
如果注册了,那么它的文件在什么地方?

销售管理软件版7楼: 就是说我们软件用到的OCX是不是已经注册了?
如果注册了,那么它的OCX文件在什么地方?

8楼: 肯定是存在注册表中
知道ActiveX名字查找对应DLL或OCX文件很简单,例如查找 KSDHTMLEDLib.KSEditX 对应的文件,首先打开
HKEY_CLASSES_ROOT\KSDHTMLEDLib.KSEditX\Clsid
读取默认值 {00C0D654-163D-476D-82EC-29741C6BD9EC}
然后根据这个值打开
HKEY_CLASSES_ROOT\CLSID\{00C0D654-163D-476D-82EC-29741C6BD9EC}\InprocServer32


读取默认值E:\DelphiProject\Bin\Sys\KsDHTMLEDLib.ocx
就是这个控件对应的OCX文件

9楼: 没有存在注册表中,如你把:
读取默认值E:\DelphiProject\Bin\Sys\KsDHTMLEDLib.ocx
改成值: E:\DelphiProject\Bin\Sys\KsDHTMLEDLibXXX.ocx
这个KsDHTMLEDLib.ocx还是能用,除非删除文件KsDHTMLEDLib.ocx,才不能用!

10楼: 我的
HKEY_CLASSES_ROOT\CLSID\{00C0D654-163D-476D-82EC-29741C6BD9EC}\InprocServer32
里的值是 E:\DelphiPr~1\KsDHTML~1.ocx
而不是 E:\DelphiProject\Bin\Sys\KsDHTMLEDLib.ocx

如何才能得到它的全名呀?