Посмотрите на мой код:Вызов функции запуска каждый день в указать время
Timer myTimer = new Timer { Interval = 1000 };
public void button_Click(object sender, EventArgs e)
{
myTimer.Tick += new EventHandler(OnTick);
myTimer.Start();
}
public void OnTick(object sender, EventArgs ea)
{
myTimer.Stop();
Execute();
}
Я хочу функцию Execute();
запускать каждый день в указать время, напр: 1h:5min, 1h:25min, 2h10min...
. Я использую Timer
, но я могу только запустить функцию каждые Interval
времени. Как указать абсолютное время для таймера?
Предполагая, что ваше приложение будет работать все время, вы можете написать какой-то класс 'AlarmClock', который поддерживает список делегатов и время их вызова. Внутренне таймер периодически запускал, проверяя, настало ли время называть любого из делегатов. –
Это может быть полезно для вас http://stackoverflow.com/questions/3243348/how-to-call-a-method-daily-at-specific-time-in-c –
Я рекомендую использовать запланированные задачи Windows. Как еще вы собираетесь гарантировать, что ваше приложение даже работает * в то время? –