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 :
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 !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } }
Merci d'avance de me corriger.
Partager