Fermeture de session WndProc()
Bonjour,
Je développe toujours mon programme socket et à la fermeture de windows ou de la session, donc il la détecte mais bloque, j'essaie de fermer mon application en envoyant un message que le serveur va se fermer :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| void __fastcall TForm1::WndProc(Messages::TMessage &Message)
{
if (Message.Msg == WM_QUERYENDSESSION &&
SrvSocket->Active == true &&
SrvSocket->Socket->ActiveConnections >= 1)
{
//Fermeture de la session !
for (int i=0; i<SrvSocket->Socket->ActiveConnections; i++)
{
if(SrvSocket->Socket->Connections[i]->Connected)
{
// envoie à tous
SrvSocket->Socket->Connections[i]->SendText("/endsession");
}
}
//Ferme la connexion sans forcer
SrvSocket->Active = false;
TForm::WndProc(Message);
Application->Terminate();
}
else
{
//Laisse passer le message
TForm::WndProc(Message);
}
} |
Le problème qui se passe c'est que mon application ne se ferme pas et tant qu'elle est ouverte elle bloque la fermeture de windows !!!
Merci d'avance de me corriger.