首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Exec vs ExecWait vs ExecShell vs nsExec::Exec vs nsExec::ExecToLog vs nsExec::ExecToStack vs ExecDos vs ExeCmd

Exec vs ExecWait vs ExecShell vs nsExec::Exec vs nsExec::ExecToLog vs nsExec::ExecToStack vs ExecDos vs ExeCmd
EN

Stack Overflow用户
提问于 2012-07-29 11:15:55
回答 2查看 36K关注 0票数 57

我能知道每个ExecExecWaitExecShellnsExec::ExecnsExec::ExecToLog, nsExec::ExecToStackExecDosExecCmd在什么时候使用哪种不同吗?

我已经发布了我所知道的各种执行电话。我正在尝试做一个全面的列表,以便帮助未来的访问者。

  1. Exec:简单地执行被调用的字符串,无论是应用程序、控制台还是文件。
  2. ExecWait:像Exec一样执行,但等待直到进程退出。
  3. ExecShell,它是干什么用的?
  4. nsExec::Exec:就像ExecExecWait一样,但只适用于命令提示符,也不需要打开控制台窗口。我不确定它是否等待进程退出。nsExec::Exec 是否等待子进程退出?
  5. nsExec::ExecToLogThe documentation says ExecToLog类似于普通的nsExec,但它输出到日志窗口。,这是什么意思,什么是日志窗口?
  6. nsExec::ExecToStack:文档显示ExecToStack类似于普通的nsExec,但它将输出推到堆栈中。我明白了。
  7. ExecDos:和nsExec::ExecToStack一样,但另外(不是吗?) a.接受用作运行应用程序的stdin的字符串参数。 b.在同步/异步模式下工作。 c.它的工作范围超出了.onInit退房的范围。
  8. ExecCmd:和ExecDos一样,但它不需要这些 ExpandEnvStrings $3 %COMSPEC% ExecDos::exec /C 零件。我说对了吗?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-29 14:56:16

1) 2) 3)

ExecExecWait在内部使用CreateProcess,只能启动程序和批处理文件。

ExecShell使用ShellExecute,这意味着它还可以启动任何已注册的文件类型(.txt、.chm等)和URL。如果您正在启动的程序需要与UAC一起提升,也应该使用它。

4)

nsExec重定向stdout,以便在执行子进程时看不到控制台窗口。是的,它在等待。

5)

instfiles页面上的日志窗口。

7)

是的,ExecDos和ExecCmd都是nsExec的更高级版本。

8)

对,是这样

票数 47
EN

Stack Overflow用户

发布于 2015-02-06 12:01:45

ExecWait在等待,因此可以返回文档

ExecShell还可以隐藏输出窗口文档

ExecCmd被认为是过时的,被ExecDos所取代。这两个插件都是NSIS的额外插件,在默认情况下是不提供的。文档

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11708779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档