Waitable timer


Description

Un exemple de Waitable Timer, suite à une demande de "Fuck" (joli Pseudo ...)
sur le Forum.
J'ai pas eu le temps de simplifier cet exemple pour qu'il soit facile à comprendre,
si qq à un peu de temps, ce serait sympa ...
Le waitable Timer est sous la forme d'un Ctl (car c'est plus facile à debugger), mais on peut le transformer en OCX (d'ailleurs je l'ai testé) ...
Normallement fonctionne pour W98 Me Win 2000 et Win XP
(pour Win 95 ... rester avec un Multimedia Timer)
J'ai également essayé de faire fonctionner un Queue Timer pour XP, ben j'ai eu qq problème de plantage ... et j'ai abandonné (mais je suis preneur si qq s'y attèle)

Les ressources utilisées par le Waitable Timer sont infimes ...

C'est un Timer que j'utilise pour "Pulser" des évenements MIDI d'habitude,
Il est trés stable (j'ai pas eu de plantage).

La précision des ticks pulsés atteind grace à ma méthode 5µs.

Le code n'est pas trés commenté (j'avais pas décidé de le poster)

Amusez vous bien

A+
Afyn
Navedac

Source / Exemple :


Private Declare Function CreateWaitableTimer Lib "kernel32" Alias "CreateWaitableTimerA" (ByVal lpSemaphoreAttributes As Long, ByVal bManualReset As Long, ByVal lpName As String) As Long

Private Declare Function OpenWaitableTimer Lib "kernel32" Alias "OpenWaitableTimerA" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal lpName As String) As Long

Private Declare Function SetWaitableTimer Lib "kernel32" (ByVal hTimer As Long, lpDueTime As FILETIME, ByVal lPeriod As Long, ByVal pfnCompletionRoutine As Long, ByVal lpArgToCompletionRoutine As Long, ByVal fResume As Long) As Long

Private Declare Function CancelWaitableTimer Lib "kernel32" (ByVal hTimer As Long)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.