MiharbiDoNo
Messages postés150Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention25 mai 2012
-
23 août 2009 à 03:47
MiharbiDoNo
Messages postés150Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention25 mai 2012
-
23 août 2009 à 04:20
salut,
je veux que mon application soit capable d'enregistré des parametres avant la fermiture de windows. j'ai essayé avec :
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If e.CloseReason = CloseReason.WindowsShutDown Then
'Code a faire
End If
End Sub
et même avec :
e.Cancel = True
mais le code ne s'execute pas, même si sa ne prend pas plus que quelque millisecnodes. (ecrire une ligne dans un fichier txt)
mais sa marche pas. ya pas un API que je peut utiliser??
MiharbiDoNo
Messages postés150Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention25 mai 2012 23 août 2009 à 04:20
enfin j'ai trouver un code qui peut m'aider, j'lai un peut modifier, voila :
Private Const WM_QUERYENDSESSION As Integer = &H11
Private _systemShutdown As Boolean = False
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If m.Msg = WM_QUERYENDSESSION Then
_systemShutdown = True
End If
MyBase.WndProc(m)
End Sub
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
If _systemShutdown Then
e.Cancel = True
_systemShutdown = False
'enregistrement d'parametre, ecriture d'un fichier txt ou ecriture d'un clé dans le registre
'mais faut un code rapide a executer, si nom windows tue le processus est s'arrete
Threading.Thread.Sleep(20000) 'un threading pour donnée le temp a windows de s'arreté.
'si on enleve le "Sleep", arret du systeme va etre annulé.
End If
End Sub