Cr�e un Timer avec une valeur hors d�lai sp�cifi�e
#include <WinAPISysWin.au3>
_WinAPI_SetTimer ( $hWnd, $iTimerID, $iElapse, $pTimerFunc )
$hWnd | Handle � la fen�tre � associer au Timer. Cette fen�tre doit �tre d�tenue par le processus appelant. Si la valeur pass�e pour $hWnd est 0 et qu'en m�me temps $iTimerID est un Timer existant, ce Timer sera remplac� de la m�me mani�re qu'un Timer existant avec $hWnd non nul. |
$iTimerID |
L'identifiant de la minuterie. Si le param�tre $hWnd est 0, et $iTimerID ne correspond pas � un Timer existant alors il est ignor� et un nouvel ID de Timer est g�n�r�. Si le param�tre $hWnd n'est pas 0 et que la fen�tre sp�cifi�e par $hWnd a d�j� un Timer avec la valeur $iTimerID, alors le Timer existant est remplac� par le nouveau timer. Quand _WinAPI_SetTimer() remplace un Timer, le Timer est remis � z�ro. Par cons�quent, un message sera envoy� apr�s que la valeur hors d�lai soit �coul�e, mais la valeur pr�c�dente de hors d�lai est ignor�e. Si l'appel n'est pas destin� � remplacer un Timer existant, $iTimerID devrait �tre 0 si $hWnd est �gal � 0. |
$iElapse | La valeur du hors d�lai, en millisecondes. |
$pTimerFunc | L'adresse d'une fonction de rappel pour �tre notifi� que le d�lai d'attente est �coul�. Si ce param�tre est 0, le syst�me envoie un message WM_TIMER � la file d'attente des messages de l'application. (Voir MSDN pour plus d'informations) |
Succ�s: | Retourne l'identifiant du Timer. Une application peut passer cette valeur � la fonction _WinAPI_KillTimer() pour d�truire le Timer. |
�chec: | Retourne 0. |
L'identifiant du Timer, $iTimerID, est sp�cifique � la fen�tre associ�e. Une autre fen�tre peut avoir son propre Timer qui a le m�me identifiant en tant que Timer appartenant � une autre fen�tre. Les Timers sont distincts.
Consultez SetTimer dans la librairie MSDN.
#include <Misc.au3> #include <WinAPISysWin.au3> Opt('TrayAutoPause', 0) Local $hTimerProc = DllCallbackRegister('_TimerProc', 'none', 'hwnd;uint;uint_ptr;dword') Global $g_iCount = 0 Local $iTimerID = _WinAPI_SetTimer(0, 0, 1000, DllCallbackGetPtr($hTimerProc)) Do Sleep(100) Until _IsPressed('1B') _WinAPI_KillTimer(0, $iTimerID) DllCallbackFree($hTimerProc) Func _TimerProc($hWnd, $iMsg, $iTimerId, $iTime) #forceref $hWnd, $iMsg, $iTimerId, $iTime ConsoleWrite($g_iCount & @CRLF) $g_iCount += 1 EndFunc ;==>_TimerProc