You can do it in combination with polling of the current time using
System.DateTime.Now
,
http://msdn.microsoft.com/en-us/library/system.datetime.aspx[
^].
Suppose you get a current time and determine that you need next event in a number of milliseconds which corresponds to 23:13:329 (minutes:seconds:milliseconds). Set a timer for this period to come to the next event at the boundary rounded by hours, and then change the timer to tick hourly. Something like that.
—SA