加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何在单击关闭按钮时通知控制台窗口程序?

发布时间:2020-12-15 09:40:08 所属栏目:大数据 来源:网络整理
导读:当用户通过单击关闭按钮(而不是使用Ctrl C)终止它时,Windows API是否提供了在控制台窗口中通知正在运行的Delphi应用程序的方法? 相关问题:How do I handle Ctrl+C in a Delphi console application? 解决方法 OS通过“控制信号”向控制台程序通知各种事件.
当用户通过单击关闭按钮(而不是使用Ctrl C)终止它时,Windows API是否提供了在控制台窗口中通知正在运行的Delphi应用程序的方法?

相关问题:How do I handle Ctrl+C in a Delphi console application?

解决方法

OS通过“控制信号”向控制台程序通知各种事件.调用 SetConsoleCtrlHandler配置 a function for the OS to call以传递信号.关闭窗口的信号为CTRL_CLOSE_EVENT.

function ConsoleEventProc(CtrlType: DWORD): BOOL; stdcall;
begin

  if (CtrlType = CTRL_CLOSE_EVENT) then
  begin
    // optionally run own code here
    // ...

  end;

  Result := True; 
end;

...

begin
  SetConsoleCtrlHandler(@ConsoleEventProc,True);
  // my application code here
  // ...
end.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读