delphi 执行一个外部程序,当外部程序结束后言主程序立即响应
我们经常能看到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 执行一个外部程序,当外部程序结束后言主程序立即响应相关推荐
- 一个软件测试工程师面试结束后想说的
昨晚正式收到支付宝的Offer,提交完离职申请,我的求职过程也就告于段落了.写下这篇文章,希望我的这些经历可以对正在求职的你能有点启发. 首先,交代下我的背景,这样大家看的时候,就可以有个对比参照.我 ...
- uniapp,小程序倒计时结束后在哪个页面就在哪个页面弹出全局弹窗
我做的是,倒计时结束后,我把弹窗单独写了一个页面,倒计时结束后直接跳弹窗的页面,关闭弹窗就是返回上一个页面,完美解决全局弹窗
- java static变量销毁_JAVA里static 变量在程序执行结束后是否被消毁
static变量是属于类的,一般情况下,程序执行结束后,类所占空间会被回收, static变量自然就被销毁了. 如下所示: public class StaticVar{ public static ...
- python内置函数用来返回数值型序列中所有元素之和_语句x = 3==3, 5执行结束后,变量x的值为_学小易找答案...
[判断题]不可以在同一台计算机上安装多个Python版本. [填空题]表达式[1, 2, 3]*3的执行结果为 [填空题]使用切片操作在列表对象x的开始处增加一个元素3的代码为 [填空题]Python ...
- python如何在所有线程结束后执行最后操作_Python线程的生命周期
在线程的生命周期中,从创建到执行以及最终终止,线程通常处于四种状态之一:开始态.可调度状态.阻塞态和终止态. 父线程和子线程 当一个新的进程或程序开始运行时,它将以一个线程开始,这个线程被称为主线程. ...
- 1.animation 判断动画结束,结束后执行另一事件;2.用css3写竖条纹背景
1.用css3的animation完成一个动画,并监听动画结束后才执行另一个事的实现方法: 动画结束时有一个webkitAnimationEnd事件,只要监听这个事件就可以 2.用css3写带透明色的 ...
- C语言输入end时结束程序,给大家一个程序,输入多个字符串以END结束后排序,这个程序运行,即结果都是对的。...
给大家一个程序,输入多个字符串以END结束后排序,这个程序运行,即结果都是对的. /*输入多个字符串以END结束后排序*/ #include #include main() {char a[20][3 ...
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 答:会执行,在return前执行 public c ...
- 编程统计候选人的得票数。设有3个候选人zhang、li、wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理。选民投票结束后程序自动显
编程统计候选人的得票数.设有3个候选人zhang.li.wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理.选民投票结束后程序自动显 ...
最新文章
- [置顶]使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖 jar 进行打包...
- 实现O(1)时间复杂度带有min和max 函数的栈
- labview初始学习过程中遇到串口读取框红蓝色交替闪烁的处理
- excel根据一列内容查找排序另一列_利用泰坦尼克生存数据讲述Excel数据分析的基本操作...
- 蛇哥开局两星机器人视频_虎牙粉丝活动落幕,蛇哥骚男夺冠,拿下季军的吃鸡一姐直播却哭了...
- vim 复制一行并且粘贴_Vim常用命令2之文本操作
- 电竞比分源码/免买分源码/可二开/支持最新PHP7.3/LOL,王者,吃鸡等等电竞比分源码
- bootstrape实战案例_bootstrap 实战入门教程(一)
- Python风格总结:循环语句
- 北航|北京航空航天大学|介绍|简介
- 不用鼠标,程序员编程竟能如此高效?
- 嵌入式系统TinyOS学习资源
- 系统性能评价的关键指标指标
- Directx11教程(60) tessellation学习(2)
- mysql中的rman备份与恢复_RMAN备份与恢复总汇
- keil编程和c语言,C语言编程及keil软件使用.ppt
- Android事件分发机制综述
- 家里WiFi突然连不上网了?
- 三思推荐的育儿书~~~
- mysql两版本共存
热门文章
- c语言编程 三角波,周期矩形波、周期锯齿波、周期三角波,C语言程序.doc
- 011_Raphael常用方法
- 002_Redis安装和卸载
- python turtle怎么用变量_Python Turtle绘图指定变量时出现问题
- vue前端 html,Vue.js v-html
- python selenium 元素定位_python3+selenium入门04-元素定位
- python的celery的面试_python 面试
- 集合框架源码分析五之LinkedHashMap,LinkedHashSet
- Oracle OFA目录结构
- 手机屏大字滚动_在iPhone手机中,实现长截图的几种方法