In case anyone is wondering how to do this I got it working well with fastsync as it causes GDK to ignore all windows messages. By using PeekMessage with PM_REMOVE, I am able to loop through and process the messages like any other Win32 app.
while(PeekMessage(&Msg, NULL, 0, 0, PM_REMOVE))
{
if(!IsDialogMessage(levelSetupWnd, &Msg) && !IsDialogMessage(propertiesTab, &Msg))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
}
It still needs some revising as I'm still concerned about messages getting backed up, however it runs like a dream on my comp. Thanks for the help