delphi执行一个外部程序,当外部程序结束后,delphi程序立即响应
//需要引用 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);
//ParamString can contain the application parameters
// lpParameters := PChar(ParamString);
//StartInString specifies the name of the working directory.if ommited, the current directory is used.
// lpDirectory := PChar(StartInString);
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;
delphi执行一个外部程序,当外部程序结束后,delphi程序立即响应的更多相关文章
- Delphi XE2及以后的版本编译后的程序大小问题
说说Delphi XE2及以后的版本编译后的程序大小问题. 其实最终得到的程序并不大,由于编译器的变化,XE2里Debug版程序比Release版程序大很多,要减小程序体积,就使用Release版.下 ...
- jquery动画函数里面可以跟一个回调函数,表示动画结束后执行的代码
jquery动画函数里面可以跟一个回调函数,表示动画结束后执行的代码 使用js监听动画结束后进行的操作: $ele.fadeIn(300,function(){...}) $ele.fadeOut(3 ...
- C# 多线程join的用法,等待多个子线程结束后再执行主线程
等待多个子线程结束后再执行主线程 class MultiThread{ #region join test public void MultiThreadTest() { Thread[] ths = ...
- 背水一战 Windows 10 (98) - 关联启动: 使用外部程序打开一个文件, 使用外部程序打开一个 Uri
[源码下载] 背水一战 Windows 10 (98) - 关联启动: 使用外部程序打开一个文件, 使用外部程序打开一个 Uri 作者:webabcd 介绍背水一战 Windows 10 之 关联启动 ...
- 腾讯云图片鉴黄集成到C# SQL Server 怎么在分页获取数据的同时获取到总记录数 sqlserver 操作数据表语句模板 .NET MVC后台发送post请求 百度api查询多个地址的经纬度的问题 try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后? js获取某个日期
腾讯云图片鉴黄集成到C# 官方文档:https://cloud.tencent.com/document/product/641/12422 请求官方API及签名的生成代码如下: public c ...
- 如何让线程A等待B执行结束后执行?
1. 使用条件变量 判断是否任务B已经做完,然后再执行任务A. 测试代码可看:https://blog.csdn.net/guochao6531/article/details/78075882 2. ...
- 以流方式读写文件:文件菜单打开一个文件,文件内容显示在RichTexBox中,执行复制、剪切、粘贴后,通过文件菜单可以保存修改后的文件。
MainWindow.xaml文件 <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation&q ...
- JavaScript一个页面中有多个audio标签,其中一个播放结束后自动播放下一个,audio连续播放
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Java异常处理中,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
Java异常处理中,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 解答:会执行,在return前 ...
随机推荐
- oozie错误:javax.servlet.jsp.el.ELException: variable [***] cannot be resolved
完整错误: javax.servlet.jsp.el.ELException: variable [compute] cannot be resolved at org.apache.oozie.ut ...
- fiddler 发送get请求
点击Composer 点击执行(Execute) \ 这里演示的是带cookie
- LINUX 修复relocation error: /lib/tls/libc.so.6
错误信息: relocation error: /lib/tls/libc.so.6: symbol _dl_tls_get_addr_soft, version GLIBC_PRIVATE not ...
- LeanCloud
[Nodejs 访问 LeanCloud] 代码中使用 SDK: var AV = require('avoscloud-sdk') AV.initialize('AppID', ''AppKey) ...
- ASP.NET Forms身份认证详解
ASP.NET身份认证基础 在开始今天的内容之前,我想有二个最基础的问题首先要明确: 1. 如何判断当前请求是一个已登录用户发起的? 2. 如何获取当前登录用户的登录名? 在标准的ASP.NET身份认 ...
- cdoj793-A Linear Algebra Problem
http://acm.uestc.edu.cn/#/problem/show/793 A Linear Algebra Problem Time Limit: 3000/1000MS (Java/Ot ...
- Java按值传递、按引用传递
一般我们会说Java基本类型采用值传递,对象以及数组采用引用传递.但事实上这只是表面上的现象.实质上,Java都是按值传递引用.(Java中“引用”的概念相当于C++中的指针,可以不断改变值) 一,对 ...
- UI小白如何快速提升自己
作为一名经历过UI学习的过来人,这些观点是自己在整个学习的过程中总结的. 希望可以对大家有所帮助,可以让刚开始接触UI的人少走弯路吧,话不多说. 快速进入主题. 那么UI小白到底如何快速提成自己呢 ...
- UEdit百度富文本编辑器
1.下载地址:http://ueditor.baidu.com/website/download.html 2.引入js/css/语言包 3.表单id设置 3.js代码
- dedecms的if标签、foreach标签
1.if标签 (1)下拉列表 <select name="prize_type[]" class="type J-prize-type" id=" ...