Enregistrer parametre avant fermeture windows

Résolu
MiharbiDoNo Messages postés 150 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 25 mai 2012 - 23 août 2009 à 03:47
MiharbiDoNo Messages postés 150 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 25 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??

1 réponse

MiharbiDoNo Messages postés 150 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 25 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
3
Rejoignez-nous