1- Call your application from another process
System.Diagnostics.Process.Start("CMD MyApplication.exe", "/C TIME 16:00");
2- Use Timer and each 1 minute check the current time.
3- Handle the Windows time changed event in your appliction and each time also check the current time more info:
http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.timechanged%28v=vs.100%29.aspx
I hope one of thoese will help you.