Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

WAITABLE TIMER


Information sur la source

Catégorie :API Classé sous : timer, waitable, ticks, tick Niveau : Débutant Date de création : 02/11/2003 Date de mise à jour : 03/03/2004 17:18:50 Vu / téléchargé: 6 458 / 785

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
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

  • 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)
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)

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Uvatha le 04/11/2003 04:42:09

très bien. même excellent. ti 8/10 vu que c'est pas superbement commenté. mais très bien quand on réussit à comprendre pareil!

signaler à un administrateur
Commentaire de Afyn le 04/11/2003 11:45:50

Pour votre Info, Fonctionne aussi sur NT4 Sp6.
Encore désolé pour les commentaires, c'est plutôt par faute de temps que je n'ai pas commenté ce code alors qu'il y a beaucoup à dire.
Noter plutôt la stabilité du code et son mecanisme.
(Vous pouvez reprendre cet exemple à votre compte et l'améliorer, et même me faire profiter de votre progression)
Faite Ctrl Alt Sup pour vérifier le niveaux de ressource utilisé par ce timer. Il conviendra surement pour vos application Multimédia.

A+

Afyn
Navedac

signaler à un administrateur
Commentaire de DARKSIDIOUS le 04/11/2003 16:58:07 administrateur CS

Très bon travail, ca montre comme cà comment se servir des API liées aux Timer !

Je ne pense pas que le code puisse être mieux optimisé !

DarK Sidious

signaler à un administrateur
Commentaire de Afyn le 27/01/2004 22:01:50

J'ai dit des bétises, ca marche aussi avec W98
Le lien MSDN
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/createwaitabletimer.asp

Afyn
Navedac

signaler à un administrateur
Commentaire de vbwalid05 le 06/06/2005 12:15:43

Votre code est  vraiment interressant, sans plantage, lèger et puissant...
J'ai pas beaucoup de temp pour bien le comprendre, si vous pouvez m'aider pour modifier les valeurs des variables afin d'obtenir un temp Timing de 1 microseconde !!
Merci d'avance ...

signaler à un administrateur
Commentaire de Afyn le 06/06/2005 17:43:47

Heu .. ben je crois pas que ce soit possible ... mais je veux bien en parler ...
Peut etre faut il chercher au niveau mutex et sémaphore ?
Ou bien sur les techniques utilisés pour coder des drivers.

Tu peux me dire pour quels types d'applications tu as besoin d'un timer 1 microseconde ?

A+

Afyn - Navedac

signaler à un administrateur
Commentaire de juju59 le 16/08/2007 07:30:57

Salut Afyn ... dada !
Moi, c'est juju59 Alias ErySoft.
Je cherchais un timer précis, et je suis tombé sut tes sources.
Pas mal!
Seulement, j'ai essayé de changer la priorité du Timer afin qu'il
soit prioritaire dans l'ordre des évènements ... sans succès.
Connais-tu un moyen de détourner une interruption sous VB, comme il était si facile de la faire en Pascal 7 version DOS ?
Je suis un peu plus avancé que toi sur le décodage des fichiers Midi.
Si tu es interessé, je te file les sources.
Je suis musicien, et j'ai bientôt fini mon "Pizzicato" perso, qui
décrypte tous les fichiers midi pour les mettre en partition ...
en plus balaise encore.
Pizzicato refuse de lire les fichiers protégés.

A plus

Eryc

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Timer Windows vb.net [ par jojo93 ] Bonjour,J'aurai besoin d'aide. J'ai créer un timer windows qui démarre un compte à rebours de 20 secondes sur l'évènement d'une picturebox activée. Au graphics et timer [ par yffick ] Bonjour,j'ai besoin d'aide en vb.netDans un evenement tick d'un timer je cree un graphics g et je voudrais dessiner un rectangle r qui se reaffichent fonctionnement du timer ??? [ par ghost_of_prog ] salut a tous !!!voila j'arrive pas a voir comment fonctionne le timer en vb.netje voudrai l'utiliser pour faire un  chronoj'en ai trouvé un  qui march lancement timer [ par alonsyl ] bonjour,je cherche a realiser 1 programme qui envoit une MsgBox(1) toutes les secondes.voici le prg que j'ai realiser a cet effet (mais qui ne fonctio WAITABLE TIMER [ par Ficarcy0407 ] Est ce que quelqu'un peut m'expliquer comment utiliser un waitable timer, car j'ai rien compris a la source de Afyn a ce sujetMerci d'avance !!!Ficarc appeler une procedure paint dans une procedure timer_Tick ??? [ par yassirguitare ] Bonjour les visualbasictiens !!HELP !<img src="/imgs2/smile_question. Acces reseau (webservice) > pas de tick du timer [ par Mastronic ] Bonjour, j'ai un timer qui effectue des beep (son Wav) toutes les secondes. Lors d'un accés au réseau (Webservice, protocol SOAP) et si j'ai une la Timer WPF [ par shadow1779 ] Bonjour a vous,J'ai recherché toute l'après midi pour faire un timer avec WPF et VB.NET, j'ai trouvé pas mal d'exemples en C# mais je n'ai pas pu vrai probleme de memoire [ par kev900001 ] bonjour,j'ai un souci je suis presque a la fin de terminer mon prog mais j'ai un probleme de memoire voila  je me sert d'un timer qui a pour fonction utilser un timer avec un msgboxresult ? [ par Tyrell2 ] Bonjour,j'utilise un bouton qui propose un msgboxresult,et donc j'ai le choix entre repondre un "oui" ou un "non".je voudrais que le "non" soit la rép


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,624 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.