需要注意的是:

加载换肤后,程序关闭时,无需调用卸载皮肤接口,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

[MFC美化] SkinSharp使用详解1-使用方法的更多相关文章

  1. [MFC美化] SkinSharp使用详解2-SkinH.h函数介绍

    SkinSharp功能强大,该皮肤库支持完全多种颜色改变等. 下面是静态链接库时的SkinH.h头文件: /*在Stdafx.h文件中加入如下语句 #include "SkinH.h&quo ...

  2. [MFC美化] SkinMagic使用详解3- 常见使用问题解答

    在SkinMagic使用过程中,经常遇到以下几个问题: 1. 静态加载皮肤文件时,资源文件IDR_SKIN_CORONA可能会报错:未声明的标识符 解决方法:添加头文件"Resource.h ...

  3. [MFC美化] Skin++使用详解-使用方法及注意事项

    主要分为以下几个方面: 1.Skin++使用方法 2.使用中注意事项 一. Skin++使用方法 SkinPPWTL.dll.SkinPPWTL.lib.SkinPPWTL.h ,将三个文件及相应皮肤 ...

  4. [MFC美化] USkin使用详解-使用方法

    该种皮肤库资料很少,用法与前面几种类似. 它主要有:USkin.dll ,USkin.lib,USkin.h和Sakura.msstyles这四个文件.皮肤格式是.u3.SkinBuilder是USk ...

  5. [MFC美化] SkinMagic使用详解2- SkinMagic常用函数介绍

    SkinMagic常用函数介绍 (1)InitSkinMagicLib函数:初始化SkinMagic int InitSkinMagicLib( //初始化SkinMagic工具库 HINSTANCE ...

  6. [MFC美化] SkinMagic使用详解1- SkinMagic使用流程

    [SkinMagic使用流程] 1.工程配置SkinMagic相关文件 2.初始化SkinMagic皮肤文件,窗体加载皮肤 3.释放皮肤资源 特别声明,SkinMagic要是破解版的,如果不是,可能需 ...

  7. MFC下CSocket编程详解(转)

    原文转自 http://blog.csdn.net/yejiansnake/article/details/2175778 MFC下CSocket编程详解: 1. 常用的函数和注意事项(详细的函数接口 ...

  8. 【初级】linux rm 命令详解及使用方法实战

    rm:删除命令 前言: windows中的删除命令大家都不陌生,linux中的删除命令和windows中有一个共同特点,那就是危险,前两篇linux mkdir 命令详解及使用方法实战[初级]中我们就 ...

  9. 【初级】linux pwd 命令详解及使用方法实战

    pwd:查看当前工作目录 前言: Linux中用 pwd 命令来查看”当前工作目录“的完整路径,就是经常提及的所在目录,多用在生产环境多级目录中查看当前所在路径,使用此命令能给运维人员/操作人员带来很 ...

随机推荐

  1. MVC应用程序请求密码的功能1

    MVC应用程序请求密码的功能(一) 经过一系列的练习,实现了会员注册<MVC会员注册>http://www.cnblogs.com/insus/p/3439599.html,登录<M ...

  2. SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面)

    挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 这个工具主要就是自动备份数据库,一键还原数据库,发送备份数据库日志报告到邮箱,自动压缩备份好的数据库 定期执行数 ...

  3. AsyncTasLoader不进行加载操作的原因及解决方法

    使用AsyncTaskLoader加载数据.但是LoadInBackground却不会被回调.这是什么情况?我要怎么解决这个问题?如果你和我一样有这样的疑问.你可以移步至我的blog的这篇文章找到答案 ...

  4. MongoDB学习(翻译5)

    C#驱动序列化文档对象 介绍 本文档基于C#官方驱动1.8版本. 本节C#驱动教程谈论C#类到BSON对象的序列化和反序列化.序列化是映射一个对象到可保存到MongoDB库中BSON对象的过程,反序列 ...

  5. json-smart 使用示例

    json-smart 使用示例 json是一种通用的数据格式.相比与protocal buffer.thrift等数据格式,json具有可读性强(文本).天生具备良好的扩展性(随意增减字段)等优良特点 ...

  6. Android Chronometer控件使用,计时器

    Android Chronometer实现了一个简单的计时器,继承自TextView,因此可以使用TextView的text控制属性来控制时间显示的颜色.字体大小等:可以定义时间显示格式,默认“MM: ...

  7. txt文件保存问题

    今天终于解决了文件的保存问题,之前删除文件,再保存,发现删除的内容还是在文件中. 这是因为保存内容时,是将数组内容一行一行覆盖原来的内容,没有覆盖到的还是保存在文件内. 我用的是CFile类 所以直接 ...

  8. php中empty和isset的区别

    比如: $_POST[ 'test']= ' ';那么: isset($_POST[ 'test']) ===> true; empty($_POST[ 'test']) ===> tru ...

  9. hdu 2828 Buy Tickets(线段树)

    一道不算复杂的线段树,就是数据处理需要好好想一下. 将输入的所有数据从后往前输入,对于最后一个值,如果它想插入第i个位置,那么他就必须在前面留下i-1个位置.对于倒数第二个人,如果他想插入j位置,那么 ...

  10. android实习程序6——拨号通话

    拨号通话 ListView GridView AdapterView 在路径android-sdkr16\android-sdkr16\platform-tools确认存在adb.exe 下载youl ...