当前位置:首页>优优资讯 > 软件教程 > 电脑软件教程 > 巧用NSIS接口执行外部程序

巧用NSIS接口执行外部程序

作者:本站整理 时间:2015-02-06

  对于外部程序在运行过程中出现的黑框问题,其实我们通过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
 

相关文章

相关推荐

最新攻略

用户评论

(已有0条评论)
表情
注:您的评论需要经过审核才能显示哦,请文明发言!
还没有评论,快来抢沙发吧!