原文 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. bc38 1002, bc39 1002

    比赛的时候是对于每个数,记录下来a[i], 并记录该树的下标hash[a[i]] 然后枚举a[i]的倍数,如果a[i]的倍数存在(设为k*a[i]),那么vis[k*a[i]]是不为0的 那么可以这样 ...

  2. erlang集群IP及port管理

    erlang集群是依靠epmd维护的,epmd是erlang集群节点间port映射的守护进程.负责维护集群内的节点连接.提供节点名称到IP地址及port的解析服务. epmd 自己定义port号 ep ...

  3. gc overhead limit exceeded eclipse错误解决方式

    在Eclipse打包的时候报错:gc overhead limit exceeded eclipse 原因是Eclipse默认配置内存太小须要更改安装Eclipse目录下的eclipse.ini文件. ...

  4. cocos2d触摸事件处理机制(2.x和3.x变化)

    2.x的触摸事件的版本号 触摸事件处理有2种子.以下单点触摸的样本.(另一种多点触摸屏). 创建cocos2d 该项目. 1. 重写下面虚函数. bool ccTouchBegan(cocos2d:: ...

  5. 引用第三方框架 不支持ARC

    我们会常常遇到一个问题就是引用第三方框架之后发现不支持内存的自己主动处理(ARC) 我们须要这样来操作: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdT ...

  6. 在 VS 类库项目中 Add Service References 和 Add Web References 的区别

    原文:在 VS 类库项目中 Add Service References 和 Add Web References 的区别 出身问题: 1.在vs2005时代,Add Web Reference(添加 ...

  7. Android - 和其他APP交互 - 让其他app启动你的activity

    前面的两篇文章主要讲了一个方面:从app中启动其他app.但是如果你的app可以处理对其他app有用的操作,你的app也应该响应其他app的操作请求.例如,如果你创建了一个社交app可以分享信息和图片 ...

  8. poj 1061 扩展欧几里德同余方程求解

    摘要写在一瞪眼. #include<iostream> using namespace std; long long exgcd(long long a,long long b,long ...

  9. C#和C++下数据类型对应表

    /C++中的DLL函数原型为//extern "C" __declspec(dllexport) bool 方法名一(const char* 变量名1, unsigned char ...

  10. Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock’

    今天服务器遇到了一个很熟悉的问题 输入 #mysql -u root -p ERROR 2002 (HY000): Can't connect to local MySQL server throug ...