NSIS控制面板中显示安装包的大小和禁止多个安装程序实例

转载:http://www.yhxs3344.net/jscript/nsis

转载:http://www.yhxs3344.net/archives/1292

1.控制面板中显示安装包的大小

;需要用到这个头文件
 !include "FileFunc.nsh"
 
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
 IntFmt $0 "0x%08X" $0
 WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "EstimatedSize" "$0"

效果:

 2.禁止多个安装实例

把下列代码放到你的 .onInit 函数:

System::Call 'kernel32::CreateMutexA(i 0, i 0, t "myMutex") i .r1 ?e'
 Pop $R0
 
 StrCmp $R0 0 +3
   MessageBox MB_OK|MB_ICONEXCLAMATION "安装程序已经在运行。"
   Abort

'myMutex' 应该替换为你自己的唯一标识值。

3.NSIS中实现两个字符串相加

StrCpy $1 "ABC"
StrCpy $1 "$1123"
DetailPrint $1

这样子输出的结果就是 “ABC123” ,实现了 A = A + B 。

原文地址:https://www.cnblogs.com/chechen/p/10142757.html