Bonjour
http://faqvbnet.developpez.com/?page...ueryendsession
code original :
Il y a quelque problème dans ce code... j'en suis arrivé là :
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
27
28
29
30
31 'Message Windows QueryEndSession Private Const WM_QUERYENDSESSION As Integer= &H11; 'flag indiquant si la session est en cours de fermeture Private _systemShutdown As Boolean= false; 'Redéfinition de la fonction virtuelle WndProc Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) 'Mise dans systemShutdown la présence du message fermeture Windows If m.Msg = WM_QUERYENDSESSION Then _systemShutdown = true base.WndProc(m) End If End Sub 'Handler evenement closing Private Sub Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) Handles Form1.Closing 'Si le message fermeture Windows a été envoyé, on l'annule ! If _systemShutdown Then e.Cancel = true _systemShutdown = false MessageBox.Show("Fermeture de session windows annulée") End If End Sub
mais il doit encore en rester ... mon application plante quand j'utilise ce code
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
27
28
29
30
31 'Message Windows QueryEndSession Private Const WM_QUERYENDSESSION As Integer = &H11 'flag indiquant si la session est en cours de fermeture Private _systemShutdown As Boolean = False 'Redéfinition de la fonction virtuelle WndProc Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) 'Mise dans systemShutdown la présence du message fermeture Windows If m.Msg = WM_QUERYENDSESSION Then _systemShutdown = True MyBase.WndProc(m) End If End Sub 'Handler evenement closing Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing 'Si le message fermeture Windows a été envoyé, on l'annule ! If _systemShutdown Then e.Cancel = True _systemShutdown = False MessageBox.Show("Fermeture de session windows annulée") End If End Sub
Merci
Sébastien
Partager