4
當用戶通過點擊關閉按鈕(而不是使用Ctrl + C)來終止它時,Windows API是否提供了一種在控制檯窗口中通知正在運行的Delphi應用程序的方法?單擊關閉按鈕時如何通知控制檯窗口程序?
有關的問題:How do I handle Ctrl+C in a Delphi console application?
當用戶通過點擊關閉按鈕(而不是使用Ctrl + C)來終止它時,Windows API是否提供了一種在控制檯窗口中通知正在運行的Delphi應用程序的方法?單擊關閉按鈕時如何通知控制檯窗口程序?
有關的問題:How do I handle Ctrl+C in a Delphi console application?
操作系統通過通知各種事件的控制檯程序「控制信號。」致電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.
哦,來吧,掛Q包含答案!完全按照所示的相同方式處理CTRL_CLOSE_EVENT通知。 – OnTheFly 2012-01-08 11:40:33
這是所有記錄在這裏:http://msdn.microsoft.com/en-us/library/ms683242.aspx – 2012-01-08 12:23:23
也許,@用戶,但尋找* this *問題的答案的人不會點擊* that *問題標題。兩個不同的問題可以有相同或相似的答案。有人發佈一個問題,他或她已經知道答案也是可以的。這讓其他人稍後可以更輕鬆地找到答案。 – 2012-01-09 15:30:37