原文 NSIS:超级轻量皮肤SkinH

这虽然是一个其他软件的皮肤控件,不过拿来用到NSIS上还是不错的。控件加皮肤文件只有100多K,可以说是比较难得了!

看一下效果:

 
代码示例:

01 #皮肤演示程序  少轻狂 www.flighty.cn
02  
03 !define PRODUCT_NAME "My application"
04 SetCompressor lzma
05 !include "MUI.nsh"
06  
07 !define MUI_CUSTOMFUNCTION_GUIINIT onGUIInit
08  
09 !insertmacro MUI_PAGE_WELCOME
10 !insertmacro MUI_PAGE_DIRECTORY
11 !insertmacro MUI_PAGE_INSTFILES
12 !insertmacro MUI_PAGE_FINISH
13  
14 !insertmacro MUI_LANGUAGE "SimpChinese"
15  
16 Name "皮肤演示程序"
17 OutFile "皮肤演示.exe"
18 InstallDir "$PROGRAMFILES\My application"
19  
20 Section
21 SectionEnd
22  
23 Function onGUIInit
24   InitPluginsDir
25   SetOutPath $PLUGINSDIR
26   File SkinH.dll
27   File skinh.she
28   System::Call SkinH::SkinH_Attach()
29  
30 ################ SkinSharp补丁, 让小衣服不显示 ################
31   System::Call Kernel32::GetModuleHandle(t"SkinH.dll")i.r0
32   IntOp $0 $0 + 0x0002CA98
33   System::Call Kernel32::GetCurrentProcess()i.s
34   System::Call Kernel32::VirtualProtectEx(is,ir0,i4,i0x40,*i)
35   System::Call "*$0(&i1 0)"
36 ###############################################################
37 FunctionEnd
38  
39 Function .onGUIEnd
40 ; 让插件目录可顺利删除
41   System::Call Kernel32::GetModuleHandle(t"SkinH.dll")i.s
42   System::Call Kernel32::FreeLibrary(is)
43   System::Call Kernel32::SetCurrentDirectory(t"$EXEDIR\")
44 FunctionEnd
 
 
插件下载:

NSIS:超级轻量皮肤SkinH的更多相关文章

  1. 一种简单,轻量,灵活的C#对象转Json对象的方案

    简单,是因为只有一个类 轻量,是因为整个类代码只有300行 灵活,是因为扩展方式只需要继承重写某个方法即可 补充:修正无法处理可空值类型的bug 首先我将这个类称之为JsonBuilder,我希望它以 ...

  2. Skippr – 轻量、快速的 jQuery 幻灯片插件

    Skippr 是一个超级简单的 jQuery 幻灯片插件.只是包括你的网页中引入 jquery.skippr.css 和 jquery.skippr.js 文件就能使用了.Skippr 能够自适应窗口 ...

  3. Prezento – 轻量、简单的 jQuery 幻灯片插件

    Prezento 是一个超级简单的 jQuery 幻灯片插件.可以让你网页以新颖的交互方式呈现.另外,Prezento 支持响应式设计,配置项也很灵活,可以根据你需要的效果配置. 您可能感兴趣的相关文 ...

  4. 基于Node和Electron开发了轻量版API接口请求调试工具——Post-Tool

    Electron 是一个使用 JavaScript.HTML 和 CSS 构建桌面应用程序的框架. 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 Java ...

  5. Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器

    最近在业余时间玩玩树莓派,刚开始的时候在树莓派里写一些基于wiringPi库的C语言程序来控制树莓派的GPIO引脚,从而控制LED发光二极管的闪烁,后来觉得,是不是可以使用HTML5+jQuery等流 ...

  6. 一种简单,轻量,灵活的C#对象转Json对象的方案(续)

    本文参考资料 一种简单,轻量,灵活的C#对象转Json对象的方案 [源码]Literacy 快速反射读写对象属性,字段 一段废话 之前我已经介绍了这个方案的名称为JsonBuilder,这套方案最大的 ...

  7. Dapper.NET——轻量ORM

    Dapper.NET使用 http://www.cnblogs.com/yankliu-vip/p/4182892.html 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Da ...

  8. 编写轻量ajax组件01-对比webform平台上的各种实现方式

    前言 Asp.net WebForm 和 Asp.net MVC(简称MVC) 都是基于Asp.net的web开发框架,两者有很大的区别,其中一个就是MVC更加注重http本质,而WebForm试图屏 ...

  9. Vue.js:轻量高效的前端组件化方案

    转发一篇尤老师对vue.js的介绍,了解vue.js的来龙去脉.不过现在已经是2.0了,也有添加一些新的东西,当然有些东西也改了. Vue.js:轻量高效的前端组件化方案 Vue.js 是我在2014 ...

随机推荐

  1. PHP计算中文字符串长度 、截取相应中文字符串

    PHP计算字符串长度     及其   截取相应中文字符串 计算字符长度: $gouWu = '美日汇http://www.hnzyxok.com/'; echo mb_strlen($gouWu,' ...

  2. Effective C++规定45 附加代码

    这部分是额外的代码的博客.键45条款想法已经实现. #include<iostream> using namespace std; template<typename T> c ...

  3. Android开发工具综述,开发人员必备工具

    安卓开发工具汇总.开发者必备.安卓开发过程中须要用到各种工具,作为一名安卓开发者,有木有感到亚历山大,那么多工具! 今天给大家汇总了一下安卓开发工具,安卓开发者必备利器. 1.Draw 9-Patch ...

  4. Tomcat7.0设置虚拟文件夹

    (1)眼下,我们的网站网站都是放在默认的文件夹下:tomcat/webapps/下的.可是,在某种情况下.我们须要把网站放到其它的文件夹,比方:tomcat所在磁盘的空间不足: 或者为了项目的统一管理 ...

  5. 广域网佰腾玩O2O笑话——它看起来很漂亮,注定不低于

    据说 2014.8.29:中国最大的商业运营商万达在一起的互联网服务供应商百度.腾讯在深圳(属性)战略合作签约仪式举行. 从功能表面上.万达代表实体,百度代表数据.腾讯代表社区:按三个合伙人理解,是要 ...

  6. 王立平--include在Android应用

    它包括一个布局和布局 1.在layout确定activity_other.xml布局 2.代码中的包括例如以下: <LinearLayout xmlns:android="http:/ ...

  7. crontab,想说爱你不easy

    悲剧的背景 跑自己主动化脚本的机器连不上toastserver了, 仅仅能自己写个脚本每天跑了. 当然要放在crontab里了. 5 3 * * * sh ~/nosecron.sh 更悲剧的结果 第 ...

  8. 【设计优化】-使用缓冲(Buffer)提高程序性能

    缓冲区是一块特定的内存区域.开辟缓冲区的目的是通过缓解应用程序上下层之间的性能差异,提高系统性能. 缓冲能够协调上层组件和下层组件的性能差异.当上层组件性能因为下层组件时,能够有效地降低上层组件对下层 ...

  9. Quartz CronTrigger应用

    CronTrigger配置格式: 格式: [第二] [支] [小时] [日本] [月] [周] [年]  序号 说明  是否必填  同意填写的值 同意的通配符  1  秒  是  0-59    , ...

  10. c++分割字符串(类似于boost::split)

    由于c++字符串没有split函数,所以字符串分割单词的时候必须自己手写,也相当于自己实现一个split函数吧! 如果需要根据单一字符分割单词,直接用getline读取就好了,很简单 #include ...