/// <summary> /// 새 타이머를 생성하고 시작합니다. /// </summary> /// <param name="interval">tick이 호출되는 주기 (millisecond)</param> /// <param name="timerTickDelegate">호출될 tick 함수 대리자</param> public Timer(int interval, TickDelegate timerTickDelegate) { m_Action = timerTickDelegate; timeBeginPeriod(1); m_Handler = new TimerEventDelegate((id, msg, user, dw1, dw2) => m_Action()); m_TimerId = timeSetEvent(interval, 0, m_Handler, IntPtr.Zero, EVENT_TYPE); }
/// <summary> /// Interval in ms. /// </summary> /// <param name="interval"></param> public FastTimer(int anIntervalMs, TimerEventDelegate aTimerEventDelegate) : base(anIntervalMs, aTimerEventDelegate) { }
private static extern int timeSetEvent(int delay, int resolution, TimerEventDelegate handler, IntPtr user, int eventType);
/// <summary> /// Interval in ms. /// </summary> /// <param name="interval"></param> public TimerBase(int anIntervalMs, TimerEventDelegate aTimerEventDelegate) { intervalMs = anIntervalMs; timerEventDelegate = aTimerEventDelegate; }