Is it possible, perhaps, to specify the priority the app gets in CPU time?
Take a look at the settings in Winamp, for example, if you're not sure what I mean. Thread priority for CPU time may be set at a level that is tailored more for the user.
I have DB, but not DBPro yet (getting it on the 15th finally), so I couldn't tell you the exact code.
Basically, your code telling your app to go to windowed mode should have its own function. That function may be bookmarked, and refered back to at the point which the app should go windowed.
In that function, integrate code to set the CPU priority to medium, instead of high (to describe it simply, instead of with numbers, but in code it will be done with numbers). Basically, when in high, the app would completely take over the CPU, leaving no processor time for other apps. This may be fine when full screen. However, once windowed, it should go medium, so it only takes what isn't used by other apps. This will keep your CPU at 100%, but will ration the CPU time among active processes.
If the program is minimized, you may want it to either pause (good idea for games), or switch to low priority. With low priority, the app would only take what it needs to stay opened, and any other app may take CPU time over it. If the app is, say, a world editor, and not a game, this may be a bad idea. Reason being that a user may want to minimize the app while it is running a process. A good example would be, say, "compiling" the world by taking all changes made by user and moving them from buffer files to the actual files they're saved in permanently. The user may want to do other things while the world "compiles", but you wouldn't want that process to be slowed down so much that it takes an eon to complete.
I don't really know if DBPro supports CPU priority specifications natively, however, thee should be a DLL or two available out there to do the trick (if you can afford to shell out the cash for one).
By the way, consider me an advanced noob lol. I know and understand most of the theories regarding coding, but don't know the actual code that well yet... Am still learning. Expect to see some complex questions from me on this board in times to come.
Since I look to the forums for help myself, I will share things I come across to help others. Likewise, if you know of a DLL which allows you to do the trick described here, then please share 8) Heck, since Winamp is open source, and it has an in-app procedure for doing this, I would imagine there's a resource or two there 8)