我们经常能看到360安全卫士进行windows系统升级时,执行windows升级程序,当升级程序执行完成后,360马上弹出提示框。

这样的程序是如何做到的呢?下述代码就能完成!

uses shellAPI;

procedure TForm1.Button1Click(Sender: TObject);
var
SEInfo: TShellExecuteInfo;
ExitCode: DWORD;
ExecuteFile, ParamString, StartInString: string;
begin
ExecuteFile := 'c:\Windows\system32\Calc.exe';
FillChar(SEInfo, SizeOf(SEInfo), #0);
SEInfo.cbSize := SizeOf(TShellExecuteInfo);
with SEInfo do begin
    fMask := SEE_MASK_NOCLOSEPROCESS;
    Wnd := Application.Handle;
    lpFile := PChar(ExecuteFile);    nShow := SW_SHOWNORMAL;
end;
if ShellExecuteEx(@SEInfo) then
begin
    repeat
      Application.ProcessMessages;
      GetExitCodeProcess(SEInfo.hProcess, ExitCode);
      if ExitCode = STILL_ACTIVE then Sleep(500);
    until (ExitCode <> STILL_ACTIVE) or Application.Terminated;
    ShowMessage('Calculator terminated');
end
else
    ShowMessage('Error starting Calc!');
end;

转载自:http://hi.baidu.com/sundelphi/blog/item/dfb95afe97371a88b901a0a9.html

转载于:https://www.cnblogs.com/fubin/archive/2009/12/14/1623494.html

delphi 执行一个外部程序,当外部程序结束后言主程序立即响应相关推荐

  1. 一个软件测试工程师面试结束后想说的

    昨晚正式收到支付宝的Offer,提交完离职申请,我的求职过程也就告于段落了.写下这篇文章,希望我的这些经历可以对正在求职的你能有点启发. 首先,交代下我的背景,这样大家看的时候,就可以有个对比参照.我 ...

  2. uniapp,小程序倒计时结束后在哪个页面就在哪个页面弹出全局弹窗

    我做的是,倒计时结束后,我把弹窗单独写了一个页面,倒计时结束后直接跳弹窗的页面,关闭弹窗就是返回上一个页面,完美解决全局弹窗

  3. java static变量销毁_JAVA里static 变量在程序执行结束后是否被消毁

    static变量是属于类的,一般情况下,程序执行结束后,类所占空间会被回收, static变量自然就被销毁了. 如下所示: public class StaticVar{ public static ...

  4. python内置函数用来返回数值型序列中所有元素之和_语句x = 3==3, 5执行结束后,变量x的值为_学小易找答案...

    [判断题]不可以在同一台计算机上安装多个Python版本. [填空题]表达式[1, 2, 3]*3的执行结果为 [填空题]使用切片操作在列表对象x的开始处增加一个元素3的代码为 [填空题]Python ...

  5. python如何在所有线程结束后执行最后操作_Python线程的生命周期

    在线程的生命周期中,从创建到执行以及最终终止,线程通常处于四种状态之一:开始态.可调度状态.阻塞态和终止态. 父线程和子线程 当一个新的进程或程序开始运行时,它将以一个线程开始,这个线程被称为主线程. ...

  6. 1.animation 判断动画结束,结束后执行另一事件;2.用css3写竖条纹背景

    1.用css3的animation完成一个动画,并监听动画结束后才执行另一个事的实现方法: 动画结束时有一个webkitAnimationEnd事件,只要监听这个事件就可以 2.用css3写带透明色的 ...

  7. C语言输入end时结束程序,给大家一个程序,输入多个字符串以END结束后排序,这个程序运行,即结果都是对的。...

    给大家一个程序,输入多个字符串以END结束后排序,这个程序运行,即结果都是对的. /*输入多个字符串以END结束后排序*/ #include #include main() {char a[20][3 ...

  8. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

    try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 答:会执行,在return前执行 public c ...

  9. 编程统计候选人的得票数。设有3个候选人zhang、li、wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理。选民投票结束后程序自动显

    编程统计候选人的得票数.设有3个候选人zhang.li.wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理.选民投票结束后程序自动显 ...

最新文章

  1. [置顶]使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖 jar 进行打包...
  2. 实现O(1)时间复杂度带有min和max 函数的栈
  3. labview初始学习过程中遇到串口读取框红蓝色交替闪烁的处理
  4. excel根据一列内容查找排序另一列_利用泰坦尼克生存数据讲述Excel数据分析的基本操作...
  5. 蛇哥开局两星机器人视频_虎牙粉丝活动落幕,蛇哥骚男夺冠,拿下季军的吃鸡一姐直播却哭了...
  6. vim 复制一行并且粘贴_Vim常用命令2之文本操作
  7. 电竞比分源码/免买分源码/可二开/支持最新PHP7.3/LOL,王者,吃鸡等等电竞比分源码
  8. bootstrape实战案例_bootstrap 实战入门教程(一)
  9. Python风格总结:循环语句
  10. 北航|北京航空航天大学|介绍|简介
  11. 不用鼠标,程序员编程竟能如此高效?
  12. 嵌入式系统TinyOS学习资源
  13. 系统性能评价的关键指标指标
  14. Directx11教程(60) tessellation学习(2)
  15. mysql中的rman备份与恢复_RMAN备份与恢复总汇
  16. keil编程和c语言,C语言编程及keil软件使用.ppt
  17. Android事件分发机制综述
  18. 家里WiFi突然连不上网了?
  19. 三思推荐的育儿书~~~
  20. mysql两版本共存

热门文章

  1. c语言编程 三角波,周期矩形波、周期锯齿波、周期三角波,C语言程序.doc
  2. 011_Raphael常用方法
  3. 002_Redis安装和卸载
  4. python turtle怎么用变量_Python Turtle绘图指定变量时出现问题
  5. vue前端 html,Vue.js v-html
  6. python selenium 元素定位_python3+selenium入门04-元素定位
  7. python的celery的面试_python 面试
  8. 集合框架源码分析五之LinkedHashMap,LinkedHashSet
  9. Oracle OFA目录结构
  10. 手机屏大字滚动_在iPhone手机中,实现长截图的几种方法