I almost feel dirty having to ask this question, but I am stuck in an unfortunate position.
We are rushing to provide a very quick and dirty interim solution. We have a need to run 2 3rd party applications (fortunately not at the the same time). The applications rely heavily on the time. One requires GMT while the other requires BST (British Summer Time). So in British Summer Time GMT and BST are an hour different.
We would like to write a little app that can change the system time before launching the relavent app. This is proving to be a little more difficult than is sounds. The main problem being that you can't ever know that the time is correct before change it. The Laptop may have been shutdown without our app quiting properly (battery issues etc).
We are able to synch the time with the server over a network. But I have been unable to identify when this has happened. I've found that there's a WM_TIMECHANGED windows message that's broadcasted when the time is set. So this could be used.
We could also show a message on login and get the user to verify the starting time, but users very quickly grow blind to this, or fail to realise the importance.
A working example of this would be: 1: Laptop set to BST (Current time is 13:00) 2: Open app one (GMT) time will change to 12:00 3: Close app one (GMT) time will change to 13:00 4: Open app one (BST) time will remain at 13:00 5: Close app one (BST) time will change to 13:00
Does anyone have any clever ideas?