Rubrik: Windows/System | 28.07.01 |
KillTimer-Funktion Diese Funktion entfernt einen mit SetTimer gesetzten Timer. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 13.685 |
Deklaration:
Declare Function KillTimer Lib "user32.dll" ( _ ByVal hWnd As Long, _ ByVal nIDEvent As Long) As Long
Beschreibung:
Diese Funktion entfernt einen mit SetTimer gesetzten Timer.
Parameter:
hWnd | Handle des Fenster, das den Timer gestartet hat. Dieser Fensterhandle muss identisch sein mit dem Fensterhandle, das beim Aufruf der SetTimer-Funktion angegeben wurde. |
uIDEvent | Wurde die SetTimer-Funktion nicht mit einem Fensterhandle aufgerufen so muss hier das Event-ID angegeben werden. Diese ID wurde von SetTimer-Funktion zurückgegeben. |
Rückgabewert:
Bei erfolgreichem Funktionsaufruf ist der Rückgabewert ungleich 0, andernfalls wird 0 zurückgeliefert. Für erweiterte Fehlerinformationen rufen sie die GetLastError-Funktion auf.
Beispiel:
' Fügen Sie nachfolgenden Code in ein öffengtliches Modul ein Private Declare Sub GetLocalTime Lib "kernel32.dll" (lpSystemTime As SYSTEMTIME) Private Declare Function SetTimer Lib "user32.dll" ( _ ByVal hWnd As Long, _ ByVal nIDEvent As Long, _ ByVal uElapse As Long, _ ByVal lpTimerFunc As Long) As Long Private Declare Function KillTimer Lib "user32.dll" ( _ ByVal hWnd As Long, _ ByVal nIDEvent As Long) As Long Const WM_TIMER = &H113 ' Timer-Ereignis trifft ein Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type Private hEvent As Long
' Timer-Prozedur, welche im Abstand der festgelegten ' Millisekunden ein Ereignis sendet Public Sub TimerProc(ByVal hWnd As Long, ByVal uMsg As Long, _ ByVal wParam As Long, ByVal lParam As Long) Dim ST As SYSTEMTIME If uMsg = WM_TIMER Then ' Lokale Zeit ermitteln... GetLocalTime ST ' ... und im Labelfeld der Form anzeigen Form1.Label1.Caption = Format$(ST.wHour, "00:") & _ Format$(ST.wMinute, "00:") & Format$(ST.wSecond, "00 Uhr") End If End Sub
' Startet den Timer Public Function EnableTimer(ByVal msInterval As Long) If hEvent <> 0 Then Exit Function hEvent = SetTimer(0&, 0&, msInterval, AddressOf TimerProc) End Function
' Beendet den Timer Public Function DisableTimer() If hEvent = 0 Then Exit Function KillTimer 0&, hEvent hEvent = 0 End Function
' Fügen Sie nachfolgenden Code in eine Form ein Private Sub Command1_Click() EnableTimer 1000 End Sub
Private Sub Command2_Click() DisableTimer End Sub
' Sicherheitshalber das Event Löschen, falls vorhanden Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) DisableTimer End Sub