社区
Windows SDK/API
帖子详情
请问在delphi中怎样可以打开另外的一个exe程序, 并可以检测到它关闭
owencai
2003-10-17 03:04:05
当它关闭的时候,在delphi中可以知道
...全文
147
5
打赏
收藏
请问在delphi中怎样可以打开另外的一个exe程序, 并可以检测到它关闭
当它关闭的时候,在delphi中可以知道
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
飞翔的老虎
2003-10-26
打赏
举报
回复
myhandle:=createprocess(....) ;
waitforsingleobject(myhandle,IN_FINITE);
magiclee
2003-10-26
打赏
举报
回复
关键是WaitforSingleObject这个API
vagerent
2003-10-21
打赏
举报
回复
请参考一下这段源代码:
{运行文件,并防止拷贝该可执行文件}
function WinExecAndWait32(CommandLine: string; Visibility: Integer): Cardinal;
var
WorkDir: string;
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
begin
{应用程序的工作目录}
WorkDir := ExtractFileDir(Application.ExeName);
FillChar(StartupInfo, Sizeof(StartupInfo), #0);
StartupInfo.cb := Sizeof(StartupInfo);
{设置进程显示标志}
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := Visibility;
{创建进程,执行该文件}
if not CreateProcess(nil,
PChar(CommandLine), {指向命令行字符串}
nil, {指向进程安全属性}
nil, {指向线程安全属性}
True, {句柄继承标志}
CREATE_NEW_CONSOLE or {创建标志}
NORMAL_PRIORITY_CLASS,
nil, {指向环境块}
PChar(WorkDir), {指向当前目录}
StartupInfo, {指向结构STARTUPINFO }
ProcessInfo) {指向结构PROCESS_INFO }
then Result := INFINITE {-1} else
begin
FormPassDialog.Hide;{隐藏输入密码的窗口}
{防止拷贝该临时文件}
FormPassDialog.iTempFileName := FileOpen(FormPassDialog.TempFileName, fmShareExclusive);
{设置应用程序的风格}
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
{提交系统控制权}
Application.ProcessMessages;
{等待刚才创建的进程运行结束}
WaitforSingleObject(ProcessInfo.hProcess, INFINITE);
{获取进程的退出代码}
GetExitCodeProcess(ProcessInfo.hProcess, Result);
{关闭进程}
CloseHandle(ProcessInfo.hProcess);
{关闭进程}
CloseHandle(ProcessInfo.hThread);
{退出本应用程序}
FormPassDialog.Close;
end;
end;
nuaabestbo
2003-10-19
打赏
举报
回复
shellexecute() or winexec()
pankun
2003-10-17
打赏
举报
回复
用调试进程的方法打开进程,这样进程创建和退出都会发送消息到你的程序中.
具体你可以参考文档区中的文章.
DELPHI
专题文档-
程序
应用
在
Delphi
编程
中
创建
一个
启动闪现窗口 如何用
Delphi
编ScreenSaver
Delphi
里如何计算日期
delphi
怎样调用外部
EXE
文件 Win95/98下监控运行的其他
程序
控制面板应用大全 避免
一个
程序
二次运行 转换WINDOWS壁纸 ...
DELPHI
专题--
程序
应用
在
Delphi
编程
中
创建
一个
启动闪现窗口 如何用
Delphi
编ScreenSaver
Delphi
里如何计算日期
delphi
怎样调用外部
EXE
文件 Win95/98下监控运行的其他
程序
控制面板应用大全 避免
一个
程序
二次运行 转换WINDOWS壁纸 ...
Delphi
XE10零基础实战快速入门
通过课堂上
一个
一个
的实战例子,演示
Delphi
XE10的用法,最后通过
一个
完整的通讯录
程序
,让学员初步掌握软件开发的全部流程 让零基础学员快速入门
Delphi
编程,快速掌握
Delphi
的使用方法,并能够制作出自己的软件来。...
Delphi
开发范例宝典目录
实例191 在
DELPHI
中
控制Word 246 实例192 带日志的
程序
247 实例193 获取窗口文本 248 实例194 判断文件是否正在被使用 250 实例195 提取文件
中
的图标资源 251 实例196 在
程序
中
调用.HLP文件 253 实例...
Delphi
7 新概念百例
│ │ ├─在
程序
中
动态地建立和使用别名(二) │ │ ├─在
程序
中
动态地建立和使用别名(三) │ │ └─在
程序
中
动态地建立和使用别名(一) │ ├─72 自动
检测
、建立数据库别名和数据表 │ ├─71 用
Delphi
进行数据库...
Windows SDK/API
1,183
社区成员
22,335
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章