社区
Windows SDK/API
帖子详情
请问在delphi中怎样可以打开另外的一个exe程序, 并可以检测到它关闭
owencai
2003-10-17 03:04:05
当它关闭的时候,在delphi中可以知道
...全文
143
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
专题文档-
程序
应用 更改Windows95的墙纸 类似于VB
中
的doevents功能
DELPHI
下的多线程
程序
设计 用
Delphi
3.0编制MP3音乐点歌台 用
Delphi
开发windows95屏幕保护预览
程序
判断
一个
程序
是否dos版本
Delphi
自定义消息应用一例 显示密码编辑框
中
的密码 也谈
Delphi
中
的日期输入 用修改文件时间的方法来加密文件 在
DELPHI
中
处理时间 在
Delphi
中
用拼音首字符序列来实现检索功能 用
Delphi
创建Internet快捷方式 用
Delphi
实现远程屏幕抓取 资源文件在
DELPHI
中
的使用 在
DELPHI
应用
程序
中
使用DLL 为
DELPHI
应用
程序
制作安装
程序
用注册表对
Delphi
程序
进行加密 在
Delphi
程序
中
操作注册表 鼠标和键盘控制 如何为
Delphi
程序
添加事件和事件处理器 在
Delphi
应用
程序
中
拖动控件 用DEPHI为应用软件建立注册机制 用
Delphi
创建临时文件
Delphi
5快速创建控制面板
程序
Delphi
经验技巧集锦 Microsoft Agent技术在
Delphi
中
的应用 怎样建立简单的任务栏应用
程序
判断
一个
程序
是否dos版本 利用
Delphi
5
中
调用Excel 97 利用Dll实现通用密码验证框 如何访问
一个
进程的内存空间 用
Delphi
5.0编写OLE
程序
操纵Excel 用
Delphi
编写DLL实现动态改变分辨率 在
delphi
中
使用flash控件 在
Delphi
中
运用QuickReport实现多栏列印 控制INI文件几法 转让控制权 得到执行
程序
的目录
打开
已注册文件 得到Windows用户名和序列号
关闭
外部应用
程序
查阅可视窗口标题 在
Delphi
编程
中
创建
一个
启动闪现窗口 如何用
Delphi
编ScreenSaver
Delphi
里如何计算日期
delphi
怎样调用外部
EXE
文件 Win95/98下监控运行的其他
程序
控制面板应用大全 避免
一个
程序
二次运行 转换WINDOWS壁纸 改计算机名 为应用
程序
添加口令 启动屏幕保护 控制热启动 辨别显示分辨率 获得WINDOWS的临时路径 状态条插入可视控件 统计
中
英文字个数 获得Windows类型和版本 读INI文件 大小写金额转换
检测
程序
是否运行 用
Delphi
3编写"共享软件" 如何从任务栏上隐藏应用
程序
的按纽 如何在
Delphi
程序
中
支持文件拖放 如何运行
一个
程序
直到它结束 用De1phi编制汉字录入能力测试软件
一个
实用的
Delphi
屏幕拷贝
程序
的设计 如何做
一个
SYSTRAY
程序
查阅可视窗口标题 屏蔽系统功能键 状态条插入可视控件 如何隐藏和显示Windows的任务条 如何将你的
程序
放在Windows启动
中
获取当前
程序
的目录
DELPHI
专题--
程序
应用
DELPHI
专题文档-
程序
应用 更改Windows95的墙纸 类似于VB
中
的doevents功能
DELPHI
下的多线程
程序
设计 用
Delphi
3.0编制MP3音乐点歌台 用
Delphi
开发windows95屏幕保护预览
程序
判断
一个
程序
是否dos版本
Delphi
自定义消息应用一例 显示密码编辑框
中
的密码 也谈
Delphi
中
的日期输入 用修改文件时间的方法来加密文件 在
DELPHI
中
处理时间 在
Delphi
中
用拼音首字符序列来实现检索功能 用
Delphi
创建Internet快捷方式 用
Delphi
实现远程屏幕抓取 资源文件在
DELPHI
中
的使用 在
DELPHI
应用
程序
中
使用DLL 为
DELPHI
应用
程序
制作安装
程序
用注册表对
Delphi
程序
进行加密 在
Delphi
程序
中
操作注册表 鼠标和键盘控制 如何为
Delphi
程序
添加事件和事件处理器 在
Delphi
应用
程序
中
拖动控件 用DEPHI为应用软件建立注册机制 用
Delphi
创建临时文件
Delphi
5快速创建控制面板
程序
Delphi
经验技巧集锦 Microsoft Agent技术在
Delphi
中
的应用 怎样建立简单的任务栏应用
程序
判断
一个
程序
是否dos版本 利用
Delphi
5
中
调用Excel 97 利用Dll实现通用密码验证框 如何访问
一个
进程的内存空间 用
Delphi
5.0编写OLE
程序
操纵Excel 用
Delphi
编写DLL实现动态改变分辨率 在
delphi
中
使用flash控件 在
Delphi
中
运用QuickReport实现多栏列印 控制INI文件几法 转让控制权 得到执行
程序
的目录
打开
已注册文件 得到Windows用户名和序列号
关闭
外部应用
程序
查阅可视窗口标题 在
Delphi
编程
中
创建
一个
启动闪现窗口 如何用
Delphi
编ScreenSaver
Delphi
里如何计算日期
delphi
怎样调用外部
EXE
文件 Win95/98下监控运行的其他
程序
控制面板应用大全 避免
一个
程序
二次运行 转换WINDOWS壁纸 改计算机名 为应用
程序
添加口令 启动屏幕保护 控制热启动 辨别显示分辨率 获得WINDOWS的临时路径 状态条插入可视控件 统计
中
英文字个数 获得Windows类型和版本 读INI文件 大小写金额转换
检测
程序
是否运行 用
Delphi
3编写"共享软件" 如何从任务栏上隐藏应用
程序
的按纽 如何在
Delphi
程序
中
支持文件拖放 如何运行
一个
程序
直到它结束 用De1phi编制汉字录入能力测试软件
一个
实用的
Delphi
屏幕拷贝
程序
的设计 如何做
一个
SYSTRAY
程序
查阅可视窗口标题 屏蔽系统功能键 状态条插入可视控件 如何隐藏和显示Windows的任务条 如何将你的
程序
放在Windows启动
中
获取当前
程序
的目录
Delphi
XE10零基础实战快速入门
通过课堂上
一个
一个
的实战例子,演示
Delphi
XE10的用法,最后通过
一个
完整的通讯录
程序
,让学员初步掌握软件开发的全部流程 让零基础学员快速入门
Delphi
编程,快速掌握
Delphi
的使用方法,并能够制作出自己的软件来。...
Delphi
开发范例宝典目录
第1章 窗体与界面设计 1 1.1 菜单应用 2 实例001 在系统菜单
中
添加菜单项 2 实例002 带历史信息的菜单 3 实例003 菜单动态合并 4 实例004 像“开始”菜单一样漂亮的菜单 5 实例005 多彩的菜单 6 实例006 可以拉伸的菜单界面 8 1.2 工具栏设计 9 实例007 带背景的工具栏 9 实例008 浮动工具栏 10 1.3 状态栏设计 11 实例009 在状态栏
中
显示检查框 11 实例010 带进度条的状态栏 12 实例011 状态栏
中
加入图标 13 1.4 导航菜单界面 14 实例012 OutLook界面 14 实例013 带导航菜单的主界面 15 实例014 图形化的导航界面 16 1.5 特色
程序
界面 18 实例015 类QQ的
程序
界面 18 实例016 类似Windows XP的
程序
界面 20 实例017 以图形按钮显示的界面 21 实例018 以树型显示的
程序
界面 23 实例019 以XPManifest组件显示界面 24 实例020 动态按钮的窗体界面 25 1.6 特殊形状的窗体 26 实例021 非矩形窗体 26 实例022 建立字体形状窗体 28 1.7 多媒体光盘 29 实例023 自动启动的多媒体光盘
程序
29 实例024 为触摸屏
程序
添加虚拟键盘 30 实例025 触摸屏系统 31 1.8 窗体效果 33 实例026 半透明渐显窗体 33 实例027 窗口颜色的渐变 34 实例028 带背景的窗体 35 实例029 为窗体增加边框 36 1.9 窗体动画 37 实例030 窗体
中
的滚动字幕 37 实例031 动画显示窗体 38 实例032 制作闪烁的窗体 39 实例033 直接在窗体上绘图 40 实例034 动画形式的
程序
界面 41 实例035 以时钟显示界面窗体 42 1.10 标题栏窗体 44 实例036 标题栏上的按钮 45 实例037 使窗体标题栏文字右对齐 47 实例038 没有标题栏但可以改变大小的窗口 48 1.11 设置窗体位置 49 实例039 不可移动的窗体 49 实例040 设置窗体在屏幕
中
的位置 50 实例041 始终在最上面的窗体 51 1.12 设置窗体大小 52 实例042 限制窗体大小 52 实例043 获取桌面大小 53 实例044 组件大小随窗体的改变而改变 53 实例045 在窗口间移动按钮 54 实例046 如何实现Office助手 55 1.13 窗体控制技术 56 实例047 在
关闭
窗口前加入确认对话框 56 实例048
程序
在循环
中
响应界面操作 57 实例049 使用任意组件拖动窗体 58 实例050 动态创建窗体和释放窗体 59 实例051 修改提示字体及颜色 60 1.14 其他技术 61 实例052 窗口融合技术 61 实例053 给MDI窗体加背景 62 实例054 如何
关闭
MDI类型窗体
中
的子窗体 63 实例055 向提示框
中
添加图标 64 第2章 控件应用 67 2.1 TEdit控件应用典型实例 68 实例056 从右至左输入数据 68 实例057 为TEdit控件添加列表选择框 69 实例058 只允许输入数字的TEdit组件 70 2.2 TSpeedButton控件应用典型实例 71 实例059 在TSpeedButton按钮
中
显示图标 71 实例060 折行显示按钮标题 72 2.3 TMemo控件应用典型实例 73 实例061 设置TMemo组件的边界 73 实例062 TMemo组件的光标定位 74 实例063 得到TMemo
中
的可见行数 75 2.4 TListBox控件应用典型实例 76 实例064 在TListBox组件间交换数据 76 实例065 为TListBox添加水平滚动条 77 实例066 将数据库数据添加到组合框
中
78 实例067 借助绑定控件实现数据选择录入 79 2.5 TListView控件应用典型实例 80 实例068 TListView列表拒绝添加重复信息 80 实例069 将数据库数据添加到TListView控件 82 实例070 用TListView控件制作导航界面 83 实例071 在TListView控件
中
对数据排序或统计 84 实例072 在TListView组件
中
绘制底纹 86 实例073 在列表视图
中
拖动视图项 87 2.6 TTreeView控件应用典型实例 88 实例074 将数据库数据显示到树视图
中
88 实例075 用TTreeView控件制作导航界面 90 实例076 TTreeView组件遍历磁盘目录 91 实例077 TTreeView组件在数据库
中
的应用 92 2.7 TStringGrid控件应用典型实例 94 实例078
程序
运行时对
Delphi
7 新概念百例
《
Delphi
7 新概念百例》是一本通过讲解
Delphi
实例,来说明使用
Delphi
编程时通常采用的编程思路以及具体方法的计算机书籍。通过对每个实例从编程思路和代码实现的详细分析和讲解,力求带领读者快速地提高自己的
程序
设计水平,并达到举一反三的目的。很多实例的重要部分都做了特别注意和技巧等提示,目的是强调一些技巧的使用或使读者尽量避免一些常见的错误,以使更高效地利用
Delphi
这个强大的
程序
开发工具。 该书精选了100多个经典的实例从易到难、由浅入深、由简单到综合地进行讲解,内容涉及面也很广泛,基本上涵盖了用
Delphi
进行应用
程序
设计的方方面面,凝聚了作者多年的
Delphi
编程经验,相信对启发读者的思想并提高读者的编程水平台有很大帮助。 该书主要面向
中
高级读者,但对那些熟悉Object Pascal语法并有一定编程经验的初级读者也很有帮助。本书也可以作为初涉
Delphi
的实例教材使用。 本文件是《
Delphi
7 新概念百例》的配书源代码,包含编译好的可执行文件。内容如下:├─综合应用篇│ ├─87 用TreeView来显示数据库信息│ ├─86 显示彩色数据表格│ ├─85 文件切割器│ ├─84 加密解密器│ ├─83 TButton增加OnMouseLeave事件│ ├─82 将IE收藏夹导出为HTML文件│ ├─81 NT Win2000
中
发送Winpop消息│ ├─80 制作无闪烁的动画│ ├─79 定制自己的幽灵
程序
│ ├─78 简单的文件查看器│ ├─77 简单的文件夹浏览器│ └─76 实现自己的控制面板├─练习提高篇│ ├─99 获取TRichEdit控件
中
光标所在行号│ ├─98 获取内存信息│ ├─97 获取CPU 信息│ ├─96 获取Windows的版本│ ├─95 临时文件的操作│ ├─94 获取Windows和System目录│ ├─93 将窗体大小限定在一定范围内│ ├─92 闪烁窗口│ ├─91 在窗体客户区用鼠标拖曳窗体│ ├─90 使TMemo组件带边界│ ├─89 给ListBox控件增加水平滚动条│ ├─88 运行时拖动控件│ ├─104 防止
程序
或系统
关闭
│ ├─103 设置屏幕分辨率│ ├─102 获取系统和显卡的BIOS信息│ ├─101 使应用
程序
不出现在任务栏上│ └─100 隐藏或显示桌面上的图标└─基础实例篇 ├─8第八节 数据库技术 │ ├─75 通过注册表在
程序
中
增减和修改数据源 │ ├─74 获取BDE的配置信息 │ ├─73 动态建立和使用别名 │ │ ├─在
程序
中
动态地建立和使用别名(四) │ │ ├─在
程序
中
动态地建立和使用别名(二) │ │ ├─在
程序
中
动态地建立和使用别名(三) │ │ └─在
程序
中
动态地建立和使用别名(一) │ ├─72 自动
检测
、建立数据库别名和数据表 │ ├─71 用
Delphi
进行数据库之间转换 │ ├─70 图像数据的存取 │ ├─69 压缩、反删除dBase或FoxPro数据表 │ ├─68 处理数据库日期型字段的显示与输入 │ │ └─数据库 │ └─67 在数据库
中
存取Word文档 ├─7第七节 网络编程 │ ├─66 动态更改DNS │ ├─65 网络资源树形浏览 │ ├─64 实现网络驱动器的映射和断开 │ ├─63 在网络邻居上得到某台机器的磁盘空间 │ ├─62 在网络邻居
中
获取指定工作组内的所有计算机及其共享资源信息 │ ├─61 在WinNT-2000网络邻居
中
获取所有的工作组 │ ├─60 计算机名与IP地址的互相获取 │ ├─59 实现Ping操作 │ ├─58 网页浏览器 │ └─57 获取本机机器名、IP信息以及网卡的MAC地址 ├─6第六节 多媒体技术 │ ├─56 实现图像之间的平滑过渡 │ ├─55 制作能播放Midi、Wav和Avi文件的播放器 │ ├─54
检测
声卡是否安装 │ ├─53 获取Audio-CD的序列号 │ ├─52_
关闭
CD-ROM │ └─51
检测
_设置CD-ROM是否自动运行 ├─5第五节 图像技术 │ ├─50 创建Jpeg图像的缩略图 │ ├─49 实现图像的翻转 │ ├─48 多种渐变色的实现 │ ├─47 TColor与RGB值的互相转换 │ ├─46 将文本转换成图像 │ ├─45 提高对位图象素的访问速度 │ ├─44 将彩色位图转换为灰度图 │ ├─43 将图像从jpg,ico,bmp,wmf格式转换为emf格式 │ ├─42 将图像从jpg,ico,emf,wmf格式转换为bmp格式 │ └─41 将图像从bmp格式转换为Jpg格式 ├─4第四节 VCL分析 │ ├─40 消除在TEdit控件
中
按下回车键时的声音 │ ├─39 在StringGrid
中
设置只读栏 │ ├─38 加速TTreeView控件的填充和清空 │ ├─37 加速TListBox控件的填充和清空 │ ├─36 在TStringGrid控件
中
删除整行 │ ├─35 动态创建主菜单和菜单项 │ ├─34 使
程序
能在循环
中
响应界面操作 │ ├─33 在TListbox、TCombobox
中
实现自动搜索 │ ├─32 用剪贴板复制和粘贴图像 │ └─31 实现.dfm文件和.txt文件的互相转换 ├─3第三节 Shell研究 │ ├─30 为
程序
创建快捷方式 │ ├─29 获取Windows的若干特殊文件夹路径(二) │ ├─28 获取Windows的若干特殊文件夹路径(一) │ ├─27 抽取
程序
关联图标 │ ├─26 磁盘格式化的实现 │ ├─25 将文件加入“开始”菜单的“文档”
中
│ ├─24 文件的拖放 │ ├─23 整个目录的复制、移动、删除 │ ├─22 将指定文件类型设置为与自己的应用
程序
相关联 │ └─21 文件的自动
打开
和超链接的实现 ├─2第二节 系统探秘 │ ├─20 操作INI文件 │ ├─19 获取驱动器类型信息 │ ├─18 在自己的
程序
中
关闭
其它的
程序
│ ├─17 使
程序
开机自动运行 │ ├─16 在自己的
程序
中
打开
或
关闭
IE窗口 │ ├─15 模拟鼠标的行为 │ ├─14 限制光标的移动区域 │ ├─13 获取或更改计算机名 │ ├─12 运行
程序
的单实例 │ └─11 隐藏任务栏 └─1第一节 界面设计 ├─09 在系统菜单上添加自定义菜单项 ├─08 使窗体始终最大化 ├─07 使窗体始终最小化 ├─06 为窗体创建动画光标 ├─05 制作始终位于最上层的窗体 ├─04 制作带背景窗体 ├─03 制作圆形窗体 ├─02 制作无标题栏窗体 ├─10 给窗体边框“镶边” └─01 制作不可移动的窗体
Windows SDK/API
1,183
社区成员
22,335
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章