原创
水晶石NSIS专栏
这个作者很懒,什么都没留下…
展开
-
NSIS 入门教程 (一)
大多数应用程序都附带一个安装程序,它将所需的文件复制到正确的文件夹中,创建注册表项,并提供卸载例程以(希望)从计算机中彻底删除应用程序有多种解决方案可以为自主开发的应用程序配备安装程序。由于 NSIS 会在错误消息中标定受影响的代码行,因此使用可以显示行号的文本编辑器是必要的。在第一部分中,将介绍一些基础知识,然后我们创建了第一个真正的安装程序。在后面的第二部分教程中,我们将使我们的安装程序也能够卸载程序。预计以后在第三部分中,我们将为安装程序配备 ModernUI,使其具有更现代的外观。原创 2024-06-22 15:55:15 · 1674 阅读 · 0 评论 -
NSIS获取符号链接(软连接)的目标路径
文中涉及三个api函数,CreateFile,CreateSymbolicLink和GetFinalPathNameByHandle,前两个是为了方便功能演示而创建的源文件及其符号链接,重点在第三个函数GetFinalPathNameByHandle,它是实现获取符号链接实际路径的关键!几经调试修改,范例脚本完成。原创 2022-10-14 20:13:29 · 520 阅读 · 0 评论 -
HM VNISEDIT在新版系统下编译并运行提示权限不足问题的解决方案
没有程序清单,有两个解决方案,1.重新编译VnISedit,为其嵌入完善的程序清单。2.直接为现有的VNISedit配置外部清单。因为我们是在解决当前的使用bug,而不是为新系统重新改良VnISedit的整体兼容性,所以第二个方案就成了不二选择!原创 2022-10-04 10:35:27 · 515 阅读 · 0 评论 -
NSIS V3.08 简体中文增强版
该3.08版本属本人业余时间集成修改制作,首发CSDN博客专栏,欢迎反馈安装与使用中出现的BUG,转载请注明出处!原创 2022-07-11 19:10:52 · 3542 阅读 · 2 评论 -
HM VNISEdit2.0.3修正版(已更新支持NSIS v3.10)
HM VNISEdit,曾经的NSIS最强最佳编辑器/IDE,但2003年至今原作者已经接近20年未再更新,随着NSIS3.X版本的普及,NIS Edit不可避免的出现了大大小小的各种BUG,本版本对HM VNISEdit2.0.3主程序进行了修改优化,使其能更好的适配NSIS3.x新版!让免费进行到底!...原创 2022-06-28 11:45:22 · 1395 阅读 · 2 评论 -
NSIS检测到窗口最小化闪烁提示
NSIS检测到窗口最小化闪烁提示原创 2022-06-03 22:34:13 · 226 阅读 · 0 评论 -
NSIS限制程序运行次数和使用日期
#七八年前写着玩的小东西,实际用途不大,但对刚接触nsis的新手来说应该还有一些帮助,包括创建控件,获取系统时间等,与诸位共勉!#NSIS群97208217!system '>blank set/p=MSCF<nul'!packhdr temp.dat 'cmd /c Copy /b temp.dat /b +blank&&del blank'SetCompressor bzip2#编写:水晶石#限制程序运行次数和使用日期!include "nsdialogs.n.原创 2022-03-21 21:13:28 · 634 阅读 · 0 评论 -
nsis离开自定义页面保存设置
这是群里一位朋友问他的自定义页面设置完成后返回上一步无法保存怎么办写的一个小例子,拓展了下,只要不关闭,不管上一步还是进入下一步返回都可以保留原页面设置。!includeLogicLib.nsh!include nsdialogs.nshXPStyle onPage componentsPage customnsdialogspagePage directo原创 2012-11-05 18:01:39 · 1619 阅读 · 0 评论 -
NSIS隐藏桌面
下午在网上闲逛发现了一段代码,刷新桌面用的,当时觉得可以利用nsis现有命令再结合API来实现,翻了些资料,终于搞定,同时结合查找到的桌面句柄,写了一个隐藏桌面的小玩意娱乐下。完整脚本:!includensDialogs.nshXPStyle onChangeUI all'${NSISDIR}\Contrib\UIs\sdbarker_tiny.ex原创 2012-11-05 18:01:35 · 1792 阅读 · 0 评论 -
NSIS使用SHFileOperation函数移动文件夹
SHFileOperation是一种外壳函数,用它可以实现各种文件操作,如文件的拷贝、删除、移动等,该函数使用起来非常简单,它只有一个指向SHFILEOPSTRUCT结构的参数。使用SHFileOperation()函数时只要填写该专用结构--SHFILEOPSTRUCT,告诉Windows执行什么样的操作,以及其它重要信息就行了。SHFileOperation()的特别之处在于它是一个高级外壳函原创 2012-11-05 18:01:46 · 2832 阅读 · 0 评论 -
nsis利用ButtonEvent插件移动无标题窗口
众所周知,普通win窗口是带有标题栏的,标题栏的主要功用之一,就是可以方便的拖动窗体,但为了各式各样的目的,有时候我们不得不想办法将其消除,在nsis中主要是靠system插件调用系统函数改变窗体风格来实现,这不是本文的重点,略过,但我们将标题删除以后,最大的问题就是这个无标题窗体无法通过鼠标拖动,后来一些nsis爱好者研究出了一套有效的方法来解决这个问题,其主要原理基本都是靠第三方插件来截获和传原创 2012-11-05 18:01:32 · 2605 阅读 · 2 评论 -
NSIS使用API创建工具提示条和超级链接
不再借助专用插件创建超级链接和工具提示条!includensDialogs.nsh#编写:水晶石Name "link_tooltips"OutFile "link_tooltips.exe"XPStyle onVar LinkVar tipSPage customnsDialogsPageFunction OnTimer${Unless} $ti原创 2012-12-25 11:51:25 · 3805 阅读 · 1 评论 -
NSIS隐藏窗口标题栏自带的按钮(最大化,最小化,关闭X)
这个问题实在八月份逛csdn论坛的时候偶然遇到的,当时比较好奇楼主为啥要隐藏关闭按钮,就顺口问了下,结果楼主已经弃楼,未给出原因,猜着可能是为了做自定义页面美化,无法改变按纽外观之类的,后来琢磨了下,觉得修改窗口风格比较简单,这里使用的是GetWindowLong与 SetWindowLong两个API。Function onGUIInit System::Call 'user32:原创 2014-10-03 14:02:50 · 3652 阅读 · 1 评论 -
nsis使用URLDownloadToFile下载文件
在Urlmon.dll中有个函数叫URLDownloadToFile,顾名思义,是一个用来下载文件的东西,我们做在线安装或者其他很多时候,往往需要提前下载一些小的文件来配置当前将要安装的程序,遇到这种情况去兴师动众的调用下载插件未免太过繁琐,也增加无谓的体积,那么这种情况使用URLDownloadToFile不失为一个较为理想的处理方法。例子如下!includensdialogs.nsh原创 2015-06-01 15:44:48 · 3487 阅读 · 3 评论 -
NSIS 自定义安装界面准确获取安装进度完美解决方案
几乎所有玩过nsis的人在制作安装进度页面时都会遇到一个比较棘手的问题,画出进度条容易,但准确掌握文件释放进度,同时再去配合进度条的进度在nsis看来几乎是个无法逾越的障碍,因为迄今为止NSIS尚无可直接使用的指令或者函数来获取相关数据。网络上解决这个问题大部分做法都是大约分为若干段,20%...40%...80%...100%这样大概做个进度的样子,其实与释放的文件几乎没什么联系,并且误差非常大原创 2012-12-13 16:44:05 · 16487 阅读 · 11 评论 -
NSIS查找文本中是否包含某个字串
!include"textfunc.nsh"!include "logiclib.nsh"OutFile "find.exe"#文本文件a.txt内其中一行包含字串kb234783#编写 水晶石#查找文本中是否包含某个字串!definelookfor `kb234783`VarfoundSectionStrCpy $found原创 2016-12-01 19:11:09 · 6051 阅读 · 1 评论 -
NSIS 去除字串中的汉字
!include"LogicLib.nsh"XPStyle on!include "WordFunc.nsh"#编写,水晶石#去除字串中的汉字#本例仅是个思路,测试环境和给出的条件有限,如有异常,有进一步修改的余地。OutFile "NSIStest.exe"Name "test"Section "test"StrCpy $0"测试x电影y下载2欢迎你5原创 2012-11-07 17:34:47 · 1980 阅读 · 1 评论 -
NSIS检测并统计字符串中某个字符个数
!include"LogicLib.nsh"OutFile "检查找字符串中c出现的次数.exe"Name "test"Section "test"StrCpy $0"cabcdccccc"StrLen $1 $0StrCpy $2''loop:IntOp $1 $1- 1StrCmp $1"-1" endStrCpy $3 $01原创 2012-11-05 18:01:41 · 4401 阅读 · 0 评论 -
酷狗音乐7.0.30.9878精简版
酷狗音乐7.0.30.9878精简版下载地址:http://bbs.cndfjy.com/article-288986.html原创 2012-11-05 18:01:19 · 1434 阅读 · 0 评论 -
腾讯QQ2011Beta4插件管理器(去校…
腾讯QQ2011Beta4插件管理器(去校检+宽度破解)下载地址:http://bbs.cndfjy.com/article-290005.html原创 2012-11-05 18:01:21 · 1035 阅读 · 0 评论 -
NSIS安装界面无虚线框移动
最近很多应用程序都在安装界面的美化上面下足了功夫,一个漂亮流畅的安装界面无疑会给其带来用户体验上的加分,其中一个无虚线框跟随鼠标移动比较有趣,狂翻msdn后终于找到了控制函数SystemParametersInfo,他的参数SPI_SETDRAGFULLWINDOWS既为此功能而生,具体引用到nsis中: System::Call 'user32::SystemParametersInfo原创 2012-11-05 18:01:28 · 2129 阅读 · 1 评论 -
nsis制作新版迅雷安装界面
终于搞出来一点名堂,不借用皮肤插件,圆角,无标题栏拖动,渐隐渐显,纯nsis代码编写,相似度大概也有95%以上了。演示程序下载原创 2012-11-05 18:01:26 · 5499 阅读 · 1 评论 -
给nsis窗口添加立体阴影
利用SetClassLong函数给nsis窗口添加了阴影,看起来很酷^_^System::Call `user32::SetClassLong(i$HWNDPARENT,i${GCL_STYLE},i${CS_DROPSHADOW})`SetClassLongReplaces the specified 32-bit (long) value at the specified of原创 2012-11-05 18:01:30 · 2018 阅读 · 0 评论 -
NSIS自定义目录选择页面制作之安装…
在nsis制作自定义界面中,目录选择页面个人感觉最为繁琐,因为该界面不仅涉及到界面控件的创建,还要涉及到控件消息传递和状态改变时的回调函数通告。迅雷界面为例:其中安装目录中的8盘符,在本机中并不存在,为避免用户安装出错,在控件的通告函数中禁用下一步,等待用户修改为可用磁盘。Function OnChange ${NSD_GetText} $INST_SDAT_LO原创 2012-11-05 18:01:06 · 10611 阅读 · 7 评论