First, you need a form to be open for the lifetime of the session. The form COULD be minimized and could even be made invisible if necessary, but it has to stay open.
Next, put an OnTimer event on the form to trap timer events. This is where you might place your OK-only message box. See next entry for the number, but here is where you RELOAD the timer - and do the message box AFTER you reload the timer.
Finally, have the Form_Load code load your form's .Timer property with a time of 3600000 (3.6 x 10^6 as an integer). That is one hour in milliseconds.
As a nice point but it really isn't required, have the background/minimized/invisible form's OnClose code reset the form's Timer slot to 0.