Delphi 程序从进程中结束的事件

Delphi 程序从进程中结束的事件,第1张

当正常情况下结束一个程序(就是点击窗口右上方那个叉叉),系统会向程序发送WM_CLOSE消息,然后程序的消息循环里面就会响应并处理这个消息,进行结束工作,最后再调用API函数结束自身。消息事件中并不存在进程中被结束的事件,你在进程被结束前,通过事件驱动方式能够接管程序的最后机会就是在处理WM_CLOSE事件中,而Onclose,Ondestroy,OnCloseQuery这几个事件中其实是响应WM_CLOSE消息,如果是用任务管理器或者其他进程管理类的软件来结束程序,那么软件会调用API函数TerminateProcess,其原型BOOL TerminateProcess( HANDLEhProcess // 将被结束进程的句柄 UINTuExitCode // 指定进程的退出码 )

如果你一定要在进程被结束中处理程序,那么你可以尝试用全局的API Hook,给TerminateProcess函数挂钩

笔记本结束当前进程需要先启动任务管理器,然后再 *** 作结束进程。如果使用快捷键,需要两组,分别是启动任务管理器的【ctrl+alt+delete】和结束进程的【alt+E】。

以win10系统为例,详细 *** 作步骤如下:

1、按键盘上的【ctrl+alt+delete】三个键启动任务管理器。

2、任务管理器界面如下图。

3、点中需要结束的进程。

4、同时按下键盘上的【alt+E】键。

5、可以看到进程已经被结束了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12009322.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存