关闭 delphi 应用程序以及它打开的另一个应用程序
Posted
技术标签:
【中文标题】关闭 delphi 应用程序以及它打开的另一个应用程序【英文标题】:Closing delphi app along with another application it opened 【发布时间】:2012-04-15 19:19:18 【问题描述】:我有一个应用程序,它调用了用 delphi 编写的其他几个 .exe 组件。我问的问题是,是否可以关闭 delphi 应用程序及其打开的所有应用程序(单击“[x]”按钮时)?
另外,很明显,我已经学会了如何打开和关闭外部应用程序,但在 Windows Media Player 等几种情况下,它似乎不起作用......谁能给我一些解决方案?
提前致谢
【问题讨论】:
【参考方案1】:您可以使用Job Objects
,阅读这些函数CreateJobObject
和AssignProcessToJobObject
的文档。
作业对象允许将进程组作为一个单元进行管理.... 示例包括强制执行限制,例如工作集大小和流程 优先级或终止与作业相关的所有进程。
【讨论】:
【参考方案2】:如果您跟踪您打开的应用程序,您可以在 Delphi 应用程序主窗体的 OnClose
事件中向每个人的窗口句柄发布 WM_QUIT
消息。
媒体播放器也应该这样,但如果你不提供任何有关如何打开它的信息,就很难说。
【讨论】:
啊,我明白了,我很抱歉......它是使用 ShellExecute 打开的,但我想关闭在 delphi 应用程序(即表单)使用“red little”关闭的同时打开的应用程序右上角的十字按钮'按钮...可以吗? 你可以告诉他们退出(我已经复制了我的答案;最好是WM_QUIT
而不是 WM_CLOSE
)。应用程序需要关闭多长时间,因此它们可能不会在完全相同的时刻关闭。以上是关于关闭 delphi 应用程序以及它打开的另一个应用程序的主要内容,如果未能解决你的问题,请参考以下文章