NSIS安装程序完成后运行程序,不在最前端。
用NSIS打包程序,安装完成后如果勾选了“运行 XXX程序”,程序运行后是不会最前端显示的(就是会被其它窗口遮挡)。但是用Inno打包就可以。自己开发一个打包程序估计也可以。那怎么解决NSIS打包程序的这个问题呢?谢谢!
[解决办法]
那段脚本虽然有些错误,但我还是能看出它的思想的
; Check if already running, If so don't open another but bring to front
这句注释说的也是安装程序,后面判断的$(^Name)就是安装程序的名字
给你写了个Demo,是运行记事本的,你自己看着办吧:
SetCompressor lzma
!include "MUI.nsh"
!insertmacro MUI_PAGE_INSTFILES
!define MUI_FINISHPAGE_RUN "notepad.exe"
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "SimpChinese"
Name "Test"
OutFile "Setup.exe"
Section
SectionEnd
;下面的代码不写,记事本一样可以最前端显示
Function .onInstSuccess
loop:
FindWindow $0 "Notepad" "无标题 - 记事本"
StrCmp $0 0 loop
System::Call User32::SetForegroundWindow(ir0)
FunctionEnd
[解决办法]