Realizing this is an old topic by now, but...
The "multiplayer chat window" in FS2004 seems to do things exactly right. (although it does seem to block WM_PAINT while it's being dragged)
Trying to obtain the same goal, I did something completely different. I created a module, but started a new thread that waits for FSUIPC to be available, then registers a menu item through FSUIPC's menu facility and spins waiting for the menu item to have been selected (sleeping and refreshing the menu item every so often). Once the menu item gets selected, it does the DoDialog...
Interestingly, since this new dialog is from a different thread, FS now gets a WM_APPACTIVATE(false) and promptly minimizes while in full screen. I guess this is the correct behavior for switching to an "external", non-directX app?
I guess my question is: how do you get to be in the same thread as the FS window? Who's WndProc do you take over? And why does the "chat" window work right? :roll:
Peter