需要注意的是:
加载换肤后,程序关闭时,无需调用卸载皮肤接口,SkinSharp换肤库会自己完成清理工作。换肤时无需卸载皮肤,直接调用即可。
其DLL使用方法与前面几种皮肤库用法类似。如下:
1. 将动态库 SkinH.dll和皮肤文件SkinH.she拷贝到程序生成的目录;将 SkinH.h和皮肤文件 SkinH.lib拷贝到工程文件夹下。
2. 在预编译头文件 stdAfx.h中 ,增加两行声明:
#include "SkinH.h"
#pragma comment(lib, "SkinH.lib")
3..在主对话框的 OnInitDialog成员函数中增加换肤命令:
SkinH_Attach(); // 加载程序当前目录下的文件名为skinh.she的皮肤进行换肤
//加载指定路径的皮肤进行换肤
SkinH_AttachEx(
LPCTSTR strSkinFile, //皮肤文件路径
LPCTSTR strPassword //皮肤密钥,默认NULL
);
下面主要是静态链接库lib的用法:
1、StdAfx.h 文件里面 并且把SkinH.h、Detours.lib、SkinH_ST.lib放到你的工程目录里面。
#include "SkinH.h"//声明函数
#pragma comment(lib, "Detours.lib") //屏蔽了好像没报错
#pragma comment(lib, "SkinH_ST.lib")
//这些代码,主要的作用是函数的声明,把皮肤函数声明出来。
//生成的EXE就不用带 SkinH.dll这个 DLL了。清爽多了
2、调用皮肤文件
1)、在文件 xxxxx.cpp 里面的InitInstance() 初始化事件里面添加入如下的代码
SkinH_Init(m_hInstance);//初始化皮肤,并不是加载皮肤注意哦,这个是加载皮肤的前提而已。
2)、在源文件xxxxxDlg.cpp 里面的OnInitDialog() 窗体加载事件里面, 添加入如下代码 :
SkinH_AttachResEx((LPCTSTR)(IDR_SHE1),_T("SHE"),_T(""),,,);//在 资源列表 里面添加资源文件 ,资源文件类型填写为SHE 即可,生成的资源ID为IDR_SHE1 。
3、无需卸载皮肤,默认自动清理,直接运行即可。
在这里可能会报错:
解决方法:链接器/命令行/其他选项 加上一行:/FORCE:MULTIPLE
http://blog.sina.com.cn/s/blog_a7b5c0320101efeu.html
自制皮肤工具
SHEditor破解版(she皮肤设计工具) v0.3 免费版(含教程)
http://www.downcc.com/soft/101454.html
有关链接:
Skin#官网,(下载使用,使用例程)
http://www.skinsharp.com/htdocs/products.htm#
SkinSharp企业版静态库破解版VC6.0范例 - EXE无需DLL和皮肤
http://www.shellsec.com/tech/70394.html