Whenever you need notifications of periods longer than supported directly, go ahead and use a standard VB Timer control. Set its Interval property to the greatest common denominator of your various needs. In this case, your need is 60 minutes, so you could use a one-minute interval (60,000).
Use a static counter within the Timer event to keep track of how many notifications have passed. When you reach the magic multiple, fire off the code that needs to run. For example, say you need to perform a given task every five minutes. I like to set the timer’s Interval property to a value no more than half the resolution I’m seeking. In a case like this, I’d probably want an event every 30 seconds or so. The code within the Timer event keeps track of how many times the event has fired, so it can determine when to execute the periodic code:
Hope this helps. There are other ways but this is simple. Alternative simple route is to fire the application every hour via Scheduled Tasks, if this fits your environment and the applications role.