C# эквивалент кода VB 6.0
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
1 ответ
Для таймера вы, вероятно, хотите:
System.Threading.Timer myTimer =
new System.Threading.Timer(TimerProc, null, g_CTimer.Interval, g_CTimer.Interval);
Если вам действительно нужно использовать мультимедийные таймеры (я бы не рекомендовал это делать), я бы посоветовал вам ознакомиться с Windows Timers и проверить pinvoke.net на наличие управляемых прототипов. Например, SetTimer.