mckri napisał(a):
void __fastcall TForm1::WndProc(Messages::TMessage &Message)
{
if(Message.Msg==WM_QUERYENDSESSION)
{
Close();
}
TWinControl::WndProc(Message);
}
WM_QUERYENDSESSION służy do potwierdzania, że aplikacja jest gotowa do zamknięcia sesji. Tu raczej nie powinieneś zamykać aplikacji, tylko zwrócić TRUE. Według dokumentacji domyślna procedura obsługi zwraca TRUE w odpowiedzi na ten komunikat, więc chyba nie trzeba robić specjalnej obsługi tego komunikatu, choć oczywiście nie można wykluczyć, że VCL zwraca coś innego.
Wszelkie kwestie związane z zamykaniem aplikacji daj do
WM_ENDSESSION.