欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

InstallShield LaunchAppAndWait运行另一个程序并等待该程序终止。

发布时间:2023/12/10 编程问答 62 豆豆
生活随笔 收集整理的这篇文章主要介绍了 InstallShield LaunchAppAndWait运行另一个程序并等待该程序终止。 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
  • LaunchAppAndWait
    语法:LaunchAppAndWait (szProgram, szCmdLine, lWait);
    说明:LaunchAppAndWait函数运行由szProgram指定的带有szCmdLine指定的命令行参数的应用程序。第三个参数,lWait指示安装在继续前是否要等待直到运行的应用程序终止。
      一个安装程序只能监控由szProgram指定的应用程序;如果该应用程序要运行其它应用程序或进程,安装程序不能监控它们。因此,安装程序将在第一个应用程序结束后继续,即使那时由第一个应用程序运行的其它应用程序仍在运行。注意如果运行的应用程序终止失败,则安装程序将无限等待运行的应用程序完成。
    参数:
    szProgram
    指定要被运行的应用程序的文件名。建议要指定应用程序的完整路径和文件名。如果你不包括一个路径,InstallShield将使用被Windows API 函数CreateProcess使用的相同的查找次序来定位文件。如果文件未能在这些位置找到,函数将失败。
      如果应用程序的全限定名包括长文件夹名和/或一个长文件名,在把szCommand传递给LaunchAppAndWait之前先把它传递给LongPathToQuote。
    szCmdLine
    指定传递给运行的应用程序的命令行参数。为运行没有命令行参数的应用程序,传递一个空字符串。
    lWait
    指定安装程序在继续前是否要等待运行的应用程序终止。在该参数位置传递下列预定义常量之一:
    NOWAIT:指定安装程序在运行应用程序后立即继续,应用程序将和安装程序脚本同时运行。注意使用该参数等效于调用函数LaunchApp。
    WAIT:指定安装程序必须等待直到由该函数运行的应用程序终止。
    返回值:
    1:表明应用程序成功运行。
    < 0:表明应用程序未能运行。
    注解:
    ·InstallShield 安装程序使用函数CreateProcess。在InstallShield运行应用程序后,它查找装入的应用程序的窗口句柄。如果它找到窗口句柄,则它在继续前等待直到应用程序窗口消失。
    ·安装程序不能监控一个不创建窗口的应用程序。如果指定的应用程序没有创建一个窗口,安装程序在运行应用程序后立即继续。注意应用程序的窗口不需要可见,但它必须存在,以便让安装程序等待。
    ·一些应用程序试图装入DLLs并且当那些DLLs不能被定位时不能正确运行。为确保一个应用程序能找到它需要的DLLs,有必要在调用LaunchAppAndWait前改变到包含可执行应用程序的目录。为改变当前目录,调用ChangeDirectory函数。
    ·如果运行的应用程序终止失败,则安装程序将无限等待运行的应用程序完成。
    ·LaunchAppAndWait以一个全屏DOS窗口来运行DOS程序。为以一个不同类型的窗口来运行一个DOS程序,你必须直接调用Windows APIs。

  • 示例
if (LaunchAppAndWait (WINDIR^"NotePAD.EXE", "", WAIT) < 0) then MessageBox ("Unable to launch "+ WINDIR^"NotePAD.EXE" +".",SEVERE); endif;

总结

以上是生活随笔为你收集整理的InstallShield LaunchAppAndWait运行另一个程序并等待该程序终止。的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。