Hello,

Voila j'ai une fonction wait qui 'reveille' un pc en stand by apres un temps bien défini.
Cependant, lorsque l'on reveille le PC avant ce temps la, la fonction wait tourne toujours et bloque l'application qui la contient.
Comment puis je faire pour interrompre cette fonction si le PC est allumé à nouveau (j'ai essayé AddHandler SystemEvents.PowerModeChanged, AddressOf PowerWatch) mais l'event n'est pas déclenché tant que wait n'a pas fini.

Un grand merci pour votre aide.

Cricri



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
Public Sub Wait(ByVal NbSec As Long)
        Dim duetime As Long = -10000000 * NbSec 'x0000000 =x sec
        Dim handle As IntPtr
        handle = CreateWaitableTimer(IntPtr.Zero, True, "EFB")
        SetWaitableTimer(handle, duetime, 0, IntPtr.Zero, IntPtr.Zero, True)
 
        Dim INFINITE As UInteger = 4294967295
        Dim ret As Integer
        ret = WaitForSingleObject(handle, INFINITE)
 
    End Sub