I have a problem very similar to the one described here: http://www.eggheadcafe.com/software/aspnet/30579866/prevent-vista-from-markin.aspx
That thread suggests that Tas
The solution is one additional call after the dispatching of your messages.
// check for my messages
while (PeekMessage(&msg, NULL, WM_TIMER, WM_TIMER, PM_REMOVE) ||
PeekMessage(&msg, NULL, 0x0118, 0x0118, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
// only to prevent ghost-window on vista!
// we dont use the result and let the message in the queue (PM_NOREMOVE)
PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE);