I got an interesting request from the higher ups. They want a simple app that will show on users' computers to display the time in multiple time zones. That, in itself, is trivial; a simple window with a timer that will get the current UTC time and convert it to any number of time zones they want to see to update some labels' text.
Here's the rub, though; to meet requirements all around, the window can never obscure nor be obscured by anything else on the desktop. The user will be running other applications that must be fully visible at all times, and at the same time this app cannot be covered by one of those windows.
So, I was thinking of implementing it in one of two ways:
As an app that is always on top, but the background would be completely transparent and the time displays would be 50% transparent or some such. Moving the mouse over the window would "highlight" the time displays by removing their transparency and/or adding opaque high-contrast backgrounds. AFAIK this solution cannot use Windows Aero, because the OS of the primary users would be Windows XP.
As an app that uses low-level Windows messages to somehow mimic the behavior of the Windows taskbar in its "always on top" mode; it will dock to the top of the screen, will always show on top of "normal"-state windows, and additionally will govern the "maximize" behavior of other windows so that those windows won't overlap it when maximized.
I really have no idea where to start to implement either of these, but I would hazard a guess that given the WinXP limitation, the second option is easier if possible at all. So, what behaviors would I be looking to implement to tell Windows to never maximize over the top of my form?