热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

未能实例化ActiveX控件“ActiveSkin4.3Control”问题,请高手帮忙解决

最近在做一个系统想用皮肤空间,但加载不了。。。郁闷!(我用的是VisualStudio2005)我的操作步骤是这样的:1.从网上下载了个actskn43.ocx,然后注册到注册表中。
最近在做一个系统想用皮肤空间,但加载不了。。。郁闷!(我用的是Visual Studio 2005)
我的操作步骤是这样的:
1.从网上下载了个actskn43.ocx,然后注册到注册表中。

2.在StdAfx.h中的//{{AFX_INSERT_LOCATION}}语句之前添加以下语句: 
#import "actskn43.ocx" no_implementation raw_interfaces_only raw_native_types
using namespace ACTIVESKINLib;

3.在*App 的.h 中加入
public:
CComQIPtr m_pSkin;  
并申明
extern C***App theApp;

4.在*Dlg.cpp的OnInitDialog()中增加
theApp.m_pSkin = GetDlgItem(IDC_SKIN)->GetControlUnknown();
theApp.m_pSkin->LoadSkin(L"B-Studio.skn"); //具体皮肤如B-Studio.skn
theApp.m_pSkin->ApplySkin((int)m_hWnd);
====================================================================
theApp.m_pSkin = GetDlgItem(IDC_SKIN)->GetControlUnknown(); 就是这个IDC_SKIN未声明。
我想在主页面上右键选择 插入Active控件,然后选择 注册好的ActiveSkin 4.3 Control,然后命名为IDC_SKIN,但是报未能实例化ActiveX控件“ActiveSkin 4.3 Control”错误,郁闷!请高手帮忙,不知道还有哪里要注意的?

====================================================================

5.其他窗口如关于窗口需要在AboutDlg的OnInitDialog()事件中加入:
theApp.m_pSkin->LoadSkin(L"B-Studio.skn"); //具体皮肤如B-Studio.skn
theApp.m_pSkin->ApplySkin((int)m_hWnd);

16 个解决方案

#1


o(︶︿︶)o 唉,悲剧啊,没人回帖,转移阵地了~~

#2


m_pSkin 是否有CoCreateInstance初始化的函数要调用...

#3


引用 2 楼 oyljerry 的回复:
m_pSkin 是否有CoCreateInstance初始化的函数要调用...

什么意思?
我是参考别人的程序改的,别人的界面上有个命名为IDC_SKIN的ActiveSkin 4.3控件,我在我的控件里也加载了ActiveSkin 4.3 Control控件,想要拖到界面上就报【未能实例化ActiveX控件“ActiveSkin 4.3 Control”】错误 o(︶︿︶)o 唉。。。搞了大半天了。。。。

#4


自己再顶一下

#5


AfxOleInit() 没有?

#6


引用 5 楼 robertbaker 的回复:
AfxOleInit() 没有?

BOOL C***App::InitInstance()
{
AfxOleInit(); 
AfxEnableControlContainer();
****************************
}
我加了还是报那错误,ActiveSkin 4.3控件就是放不到界面上,一选插入控件就跳出提示错误

#7


有大侠知道是什么原因吗?

#8


你是怎么注册的?

#9


引用 8 楼 wshcdr 的回复:
你是怎么注册的?

我把actskn43.ocx放到C:\WINDOWS\system32
然后运行那里 regsvr32 actskn43.ocx 
应该不会有问题吧?

#10


这个控件可能注册不正确,或者缺少依赖项,所以无法成功CoCreateInstance

#11


引用 10 楼 jameshooo 的回复:
这个控件可能注册不正确,或者缺少依赖项,所以无法成功CoCreateInstance

那应该怎么注册呢?怎么CoCreateInstance?

#12


我想起来了,你注册的时候是不是用的破解过的Ocx?
应该先用没有破解过的注册,然后用破解过的 ocx 覆盖掉,
试一试,

#13


我以前用的时候,是直接写注册表的(我把注册表的东西记下来了,用的时候再写回去),

#14


引用 12 楼 robertbaker 的回复:
我想起来了,你注册的时候是不是用的破解过的Ocx?
应该先用没有破解过的注册,然后用破解过的 ocx 覆盖掉,
试一试,

我开始是没破解过的,然后在用破解的替代。。。。但问题依旧。。。。。
(我是运行了一个别人的源代码中的程序,没破解的一运行就会跳出一对话框,破解的就不会。。。)
我自己的界面上控件拖不上去,别人源代码中有皮肤控件的界面打不开,都是报【未能实例化ActiveX控件“ActiveSkin 4.3 Control”】错误 

#15


没人回答,结了~~~o(︶︿︶)o 唉

#16


actskn43.ocx 在用的时候会弹出个 MessageBox 是吧,
你想想如果你用 Hook 技术勾住 MessageBox 看一看 MessageBox 的参数如果是注册信息就返回 MB_OK,如果不是就调真正的 MessageBox,这问题不就解决了吗?还不用破解了,
明白了吗?


推荐阅读
author-avatar
he恋613_394
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有