软件发布| 专题库| 优优资讯| 苹果专区| 安卓专区| 软件下载| 首页
优优资讯 电脑教程 安卓教程 安卓攻略 苹果教程 苹果攻略 新闻资讯

巧用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条评论)
表情
注:您的评论需要经过审核才能显示哦,请文明发言!
还没有评论,快来抢沙发吧!
快速检索
0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z