vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Windows/System28.07.01
KillTimer-Funktion

Diese Funktion entfernt einen mit SetTimer gesetzten Timer.

Betriebssystem:  Win95, Win98, WinNT 3.1, Win2000, WinMEViews:  13.667 

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:
hWndHandle des Fenster, das den Timer gestartet hat. Dieser Fensterhandle muss identisch sein mit dem Fensterhandle, das beim Aufruf der SetTimer-Funktion angegeben wurde.
uIDEventWurde 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

 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.