procedure TForm1.Button1Click(Sender: TObject);
var
  sCommandLine: string;
  bCreateProcess: boolean;
  lpStartupInfo: TStartupInfo;
  lpProcessInformation: TProcessInformation;
begin
  sCommandLine := 'C:\TEST.EXE';
  //初始化StartupInfo
  FillChar(lpStartupInfo, Sizeof(TStartupInfo), #0);
  lpStartupInfo.cb := Sizeof(TStartupInfo);
  lpStartupInfo.dwFlags := STARTF_USESHOWWINDOW;
  lpStartupInfo.wShowWindow := SW_NORMAL;

bCreateProcess := CreateProcess(nil, PChar(sCommandLine),
    nil, nil, True, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,
    nil, nil, lpStartupInfo, lpProcessInformation);
  if bCreateProcess then      //等外部进程的结束
    WaitForSingleObject(lpProcessInformation.hProcess, INFINITE);
end;

转载于:https://www.cnblogs.com/rogee/archive/2010/09/15/1827304.html

Delphi写的等待进程运行结束函数相关推荐

  1. Delphi 调用外部程序并等待其运行结束

    如何让Delphi调用外部程序并等待其运行结束 函数一: uses Windows, SysUtils, Classes, ShellAPI; function RunAndWait(FileName ...

  2. Linux:进程管理 | 进程创建 | 进程终止 | 进程等待 | 进程替换

    文章目录 进程创建 fork 写时拷贝机制 进程终止 退出码 进程退出方法 进程等待 阻塞.非阻塞的等待 进程替换 替换函数 exec l exec lp exec le exec ve exec v ...

  3. linux子线程运行的函数_Linux中线程使用详解

    4. 线程的属性 前面还说到过线程创建的时候是有属性的,这个属性由一个线程属性对象来描述.线程属性对象由pthread_attr_init()接口初始化,并由pthread_attr_destory( ...

  4. linux的多进程等待,等待进程结束wait()和waitpid()函数

    上一节最后我们说到若子进程先于父进程结束时,父进程调用wait()函数和不调用wait()函数会产生两种不同的结果: --如果父进程没有调用wait()和waitpid()函数,子进程就会进入僵死状态 ...

  5. Delphi 如何解决在DLL的入口函数中创建或结束线程时卡死

    先看一下使用Delphi开发DLL时如何使用MAIN函数, 通常情况下并不会使用到DLL的MAIN函数,因为delphi的框架已经把Main函数隐藏起来 而工程函数的 begin  end 默认就是M ...

  6. delphi 运行外部程序函数winexec WinExecAndWait32 CreateProcess

    转载地址:http://blog.sina.com.cn/s/blog_7fdf737901013vgh.html 运行外部程序但不需等待winexec 运行外部程序并等待外部程序结束才返回结果的函数 ...

  7. 【Linux系统编程】进程的控制:结束进程、等待进程结束

    结束进程 首先,我们回顾一下 C 语言中 continue, break, return 的作用: continue: 结束本次循环 break: 跳出整个循环,或跳出 switch() 语句 ret ...

  8. Linux 等待进程结束 wait() 和 waitpid()

    若子进程先于父进程结束时,父进程调用wait()函数和不调用wait()函数会产生两种不同的结果: --> 如果父进程没有调用wait()和waitpid()函数,子进程就会进入僵死状态. -- ...

  9. c++ 等待子线程结束_进程和线程

    1.进程的基本概念 进程简单说就是运行中的可执行文件.代码经过编译后生成二进制可执行文件,当运行该可执行文件时,代码被装载到内存中,然后CPU会执行程序中的指令. 有关进程调度,例如进程A,进程B,C ...

最新文章

  1. mac中用命令行运行mysql
  2. 超越99.9%人类玩家,微软专业十段麻将AI论文细节首次公布
  3. Web前端经典面试试题(一)
  4. linux sort命令 性能,linux sort 命令详解
  5. hybris impex里的小括号语法
  6. superoneclick 2.2_总投资2.2亿!又一年产10万吨水性乳液项目开工
  7. java import的作用_Java技术_Java千百问(0030)_package和import作用是什么
  8. 解密SuperWebview的一种另类方法
  9. 临安推进智慧交通频频升级
  10. 电脑键盘部分按键失灵_笔记本键盘部分失灵怎么办,笔记本个别键失灵的处理方法...
  11. MSOCache文件夹能否删除?
  12. 恢复被误删的ESP引导分区
  13. 用python实现房贷计算器
  14. 工作中常见的方法和法则(简单的法则不简单)
  15. ntdll.dll处引发的异常: 0xC0000005: 写入位置 0x00000004 时发生访问冲突
  16. 算法竞赛入门经典 习题3-2 分子量 Molar Mass
  17. RK988键盘切换蓝牙模式
  18. CSDN博客中删除空白代码块
  19. 兔年幸运转转盘,看看你今年过年能赚到啥
  20. layui数据表格与后台交互进行渲染

热门文章

  1. MySQL探秘(六):InnoDB一致性非锁定读(隔离性)
  2. linux tr命令书上的一个很好的例子
  3. Python报错TypeError: ‘User‘ object is not iterable
  4. 概率论-2.2 随机变量的数学期望(重点:随机变量X的期望)
  5. android 经纬度的范围内,在Android里如何判断一个指定的经纬度点是否落在一个多边形区域内...
  6. 简述一下你对mysql事物的理解_面试题:说说你对数据库事务的理解
  7. 扩容是元素还是数组_348,数据结构1,数组
  8. Pro *C/C++学习笔记
  9. Autosys command
  10. # # # 正则