本文是关于【NSIS执行外部程序】的内容,对于编程知识来说,每天了解最新的编程知识,是每天必须要做的,掌握最新编程,了解最新教程,投入最新动力来展现以后。
NSIS提供了比较完善的执行外部程序的接口,比如你要找开一个网页可以使用ExecShello Open "http://rkxy.com.cn"来执行一个网页的打开操作,你也可以用ExecWait 来执行一个程序直到外部程序执行完成才执行下一步操作,但执行命令行的程序有可能会出现黑框,在安装过程中出现黑框是我们封装者和用户都不愿意看到的情况,为此NSIS给我们提供了一个nsExec接口,它可以执行一个基于命令行的程序并且不输出一个黑框。当nsExec::ExecToStack执行失败的时候,它会返回一个"error"在栈顶,当它执行命令超时的时候它会返回一个“timeout”于栈顶,其他的情况它会返回程序的返回值。
Name "nsExec Test"
SetCompressor /FINAL bzip2
OutFile "nsExec Test.exe"
ShowInstDetails show
Section "Silent MakeNSIS"
nsExec::Exec '"${NSISDIR}makensis.exe"'
Pop $0 # return value/error/timeout
DetailPrint ""
DetailPrint " Return value: $0"
DetailPrint ""
SectionEnd
Section "MakeNSIS commands help"
nsExec::ExecToLog '"${NSISDIR}makensis.exe" /CMDHELP'
Pop $0 # return value/error/timeout
DetailPrint ""
DetailPrint " Return value: $0"
DetailPrint ""
SectionEnd
Section "Output to variable"
nsExec::ExecToStack '"${NSISDIR}makensis.exe" /VERSION'
Pop $0 # return value/error/timeout
Pop $1 # printed text, up to ${NSIS_MAX_STRLEN}
DetailPrint '"${NSISDIR}makensis.exe" /VERSION printed: $1'
DetailPrint ""
DetailPrint " Return value: $0"
DetailPrint ""
SectionEnd
本文关键词:NSIS执行外部程序,更多相关编程教程请关注电子技术学习网站!