WaitForSingleObject:interrompre la fonction
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:
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 |