推荐:NSIS-UI-Plugin 开源NSIS UI插件框架,支持任意第三方界面库,默认提供使用Qt作为界面库的安装包示例。

前面的几篇文章介绍了NSIS的传统界面的安装包和现代界面的安装包的制作方法,也提到了NSIS支持自定义页面(即使用page custom)的特性,自定义页面需要用户自己创建对话框、控件、添加控件响应等等,虽然NSIS提供了nsDialogs.nsh来支持这些功能,但使用起来还是不太方便(需要专门了解这个插件诸多用法),而且不够灵活,所以本文介绍一种终极的自定义界面的安装包解决方案,即完全使用第三方界面库来绘制安装包界面。

该方案是对界面库没有限制的,可以使用其他任何界面库,如MFC, Qt,WTL等。通过这种方案可以很轻松的实现类似金山毒霸、QQ、360安全卫士等软件的安装包界面。

一、原理

NSIS教程(1): 基础语法中已经介绍了自定义页面的语法:

page custom [创建函数] [离开函数] [标题]

使用第三方界面库完全定制安装包界面的基本原理就是:新建一个dll插件,在page custom[创建函数]中调用该插件中的函数来显示界面,这时界面上面的按钮的响应就不再由NSIS控制了,完全由我们的代码

NSIS教程(8): 基于第三方界面库的安装包界面相关推荐

  1. VS2015(Install Shield 2015 )打包教程。集成第三方驱动。修改安装包图标、安装风格。

    一.安装install shield.版本号要跟使用的vs一致.如我使用的是2015版本的vs.就要安装2015版本的install shield. 安装教程参考:https://blog.csdn. ...

  2. 基于第三方开源库的OPC服务器开发指南(2)——LightOPC的编译及部署

    基于第三方开源库的OPC服务器开发指南(2)--LightOPC的编译及部署 前文已经说过,OPC基于微软的DCOM技术,所以开发OPC服务器我们要做的事情就是开发一个基于DCOM的EXE文件.一个代 ...

  3. 【工具】更新最新esp8266库离线安装包3.0.1、ESP32库离线安装包1.0.6

    公众号关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 210806更新ESP32和ESP8266最新离线安装包下载地址.     传统的在 ...

  4. arduino开发ESP8266配置方法,入门必看,esp8266开发板库离线安装包package2.7.1

    公众号关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 群里经常有朋友问arduino开发ESP8266的配置方法,今天在之前的文章基础上, ...

  5. 200528更新arduino开发ESP8266配置方法,入门必看,esp8266开发板库离线安装包package2.7.1...

    公众号关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 群里经常有朋友问arduino开发ESP8266的配置方法,今天(200528)在之 ...

  6. 【工具】更新arduino最新esp8266库离线安装包3.0.1、ESP32库离线安装包1.0.6,库编译报错解决方法...

    公众号关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 210806更新ESP32和ESP8266最新离线安装包下载地址.     因为各种 ...

  7. Python依赖库、安装包(源码安装)

    前言 Python常用的依赖库安装方式是使用pip来安装,比如pip install xxx :但有时pip的安装速度慢.或需要安装指定版本的依赖库,同时pip又不支持了,这时可以先把依赖库(安装包) ...

  8. Python第三方库离线安装包制作(whl文件)(离线包)

    1. 清理python环境: 使用pip list命令查看已安装的包; 如果有其它的包,则使用pip uninstall [包名]进行删除; 2.在线安装第三方库 使用pip install [包名] ...

  9. [nsis]安装包界面乱码问题

    NSIS安装包中文乱码问题 解决方案一 区域设置调为中文 解决方案2 修改.nsi打包脚本,在脚本前面增加以下代码 Unicode True

最新文章

  1. mysql cert_Mysql使用SSL连接
  2. Spring教程--入门程序
  3. 用C++写的 Levenshtein 算法实现
  4. 关于c#调用c编译器
  5. 【遥感数字图像处理】实验:遥感图像显示与数据输入/输出(Erdas版)
  6. 21世纪的设计模式:抽象工厂模式
  7. JavaScript内存泄漏的几种情况
  8. 外参矩阵转四元数,左右手坐标系转化1
  9. 《操作系统》课程设计任务书
  10. 高德Location
  11. Scratch编程与游戏:大鱼吃小鱼!
  12. vue 中实现动态切换背景图
  13. pil库修改图片大小_python 利用PIL库进行更改图片大小的操作
  14. 服务器划分不同虚拟主机,服务器划分不同虚拟主机
  15. 华硕主板更改UEFI安全启动项
  16. 【2022研电赛】商业计划书赛道华南区二等奖:基于机器视觉的智能驾驶辅助系统
  17. 给文件夹重命名python
  18. 在北京安定门零售店拿下绿源卡乐03,让我随时出发“找自由”
  19. 测控技术与仪器是计算机相关的,有关测控技术与仪器专业
  20. Solidworks模型导入Unity,最方便的做法!★

热门文章

  1. MIPI video mode 和 command mode 的区别
  2. SpringBoot中使用AMQ的两种方式二(Java配置、注解方式)
  3. Spring整合AMQ
  4. vue中pc端大屏怎么进行rem适配(lib-flexible + postcss-pxtorem)
  5. 湖南科技大学计算机学院刘红杨,湖南科技大学新闻网
  6. 社会网络分析(四) | 快速上手Gephi,绘制小说人物关系网络
  7. 飞行器控制笔记(二)——姿态解算之坐标变换与欧拉角更新姿态
  8. 实验一 CISCO路由器的基本配置
  9. box-sizing: content-box 与 border-box 的差别
  10. 互联网摸鱼日报(2022-11-10)