c# - System.Timers Timer not firing event -
i have start timer on event when eyes closed duration.if timer elapsed screen turns off.if eye open before timer elapsed timer stopped , screen turns on.
computationoftimer(); monitors whether eyes open/closed. working fine getting right feedback in console.
private void computationoftimer() { if (blink[0] == 100) //if eye closed detected { ctrltimerstop = 3; ctrltimerstart = ctrltimerstart - 1; system.console.write("\n\t eyes closed"); timerstarting(); } else //if eyes open before timer elapsed //we have stop timer { ctrltimerstart = 5; ctrltimerstop -= 1; //system.console.write("\n\t\t\t\t\t opened"); timerstopping(); } }
timerstarting() starts timer
public void timerstarting() { if (ctrltimerstart == 0) { screenofftimer.interval = 3000; screenofftimer.elapsed += screenofftimer_tick_screenoff; screenofftimer.autoreset=false; if (!screenofftimer.enabled) //starts timer once { screenofftimer.enabled = true; system.console.write("timer chaloo hai"); } } }
logic of screen off , sleep
void screenofftimer_tick_screenoff(object sender, eventargs e) { system.console.write("eyes closed long time bro!"); beep(440, 1000); // concert a, 1 second sendmessage(hwnd_broadcast, wm_syscommand, sc_monitorpower, monitor_off); //as eyes still closed send pc sleep start 1 more timer gotosleeptimer.interval = 10000; gotosleeptimer.elapsed += gotosleeptimer_tick_sleepoff; gotosleeptimer.autoreset = false; if (!gotosleeptimer.enabled) { gotosleeptimer.start(); } } void gotosleeptimer_tick_sleepoff(object sender, eventargs e) { system.console.write("so rahe hain bhai ab"); beep(440, 2000); // concert a, 1 second system.windows.forms.application.setsuspendstate(powerstate.suspend, false, false); }
timerstopping(); stop timer if eyes opened earlier
public void timerstopping() //to stop timer when eyes open { if (ctrltimerstop == 0) { //to timer stop logic if (screenofftimer.enabled) { screenofftimer.stop(); system.console.write("timer band ho gaya"); } //system.windows.messagebox.show("timer stopped"); sendmessage(hwnd_broadcast, wm_syscommand, sc_monitorpower, monitor_on); if (gotosleeptimer.enabled) { gotosleeptimer.stop(); } } }
timer not firing after time elapsed.i tried dispatchertimer before update wpf ui , have different objective.
declaration part:
system.timers.timer screenofftimer = new system.timers.timer(); system.timers.timer gotosleeptimer = new system.timers.timer();
try
eventtabtimer.elapsed += new elapsedeventhandler(gotosleeptimer_tick_sleepoff);
Comments
Post a Comment