-4
Option Explicit  
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long    

Function TimerCreate() As Boolean

    If g_CTimer Is Nothing Then Exit Function

    ' Create the timer
    g_CTimer.TimerID = SetTimer(0&, 0&, g_CTimer.Interval, AddressOf TimerProc)
    If g_CTimer.TimerID Then
        TimerCreate = True
    Else
        TimerCreate = False
        g_CTimer.TimerID = 0
     End If   
End Function  

Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)
    On Error Resume Next

    If g_CTimer Is Nothing Then Exit Sub
    g_CTimer.ThatTime
End Sub
4

1 に答える 1

1

タイマーの場合、おそらく次のことが必要です。

System.Threading.Timer myTimer =
    new System.Threading.Timer(TimerProc, null, g_CTimer.Interval, g_CTimer.Interval);

System.Threading.Timerを参照してください。

マルチメディア タイマーを本当に使用する必要がある場合 (私はお勧めしません)、Windows タイマーを読み、マネージド プロトタイプについて pinvoke.net を確認することをお勧めします。たとえば、SetTimer

于 2013-07-25T19:49:31.823 に答える