gpt4 book ai didi

Delphi:如果用户重新启动/关闭,Application.Run 之后的代码不会执行

转载 作者:行者123 更新时间:2023-12-03 14:42:52 26 4
gpt4 key购买 nike

我在“Application.Run;”之后放置了一些代码它通常在应用程序关闭时运行。然而,当用户重新启动或关闭 Windows 时,永远不会达到这一点。

不捕获WM_ENDSESSION可以解决这个问题吗? (并且不涉及任何形式,我希望代码保留在 dpr 末尾的 application.run 之后)

最佳答案

VCL 已监听 WM_ENDSESSION(隐藏的应用程序窗口),并在 session 结束时终止应用程序。您可以add a terminate procedure在 .dpr(或其他地方)中,它将在可能的其他终止过程中被调用:

program Project1;

uses
Vcl.Forms,
sysutils,
Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

function OnTerminate: Boolean;
begin
Result := True;
// do some short work
end;

begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm2, Form2);
AddTerminateProc(OnTerminate);
Application.Run;
end.

关于Delphi:如果用户重新启动/关闭,Application.Run 之后的代码不会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25569091/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com