作者:he恋613_394 | 来源:互联网 | 2023-09-02 07:18
最近在做一个系统想用皮肤空间,但加载不了。。。郁闷!(我用的是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 个解决方案
o(︶︿︶)o 唉,悲剧啊,没人回帖,转移阵地了~~
m_pSkin 是否有CoCreateInstance初始化的函数要调用...
这个控件可能注册不正确,或者缺少依赖项,所以无法成功CoCreateInstance
我想起来了,你注册的时候是不是用的破解过的Ocx?
应该先用没有破解过的注册,然后用破解过的 ocx 覆盖掉,
试一试,
我以前用的时候,是直接写注册表的(我把注册表的东西记下来了,用的时候再写回去),
actskn43.ocx 在用的时候会弹出个 MessageBox 是吧,
你想想如果你用 Hook 技术勾住 MessageBox 看一看 MessageBox 的参数如果是注册信息就返回 MB_OK,如果不是就调真正的 MessageBox,这问题不就解决了吗?还不用破解了,
明白了吗?