I have a successfully operating Main App and simple DLL. I would like to have the Main App exit, and leave the DLL running. How can this be done?

The Main App loads the DLL and sets a global hook. This works well, but the callbacks to the DLL come only because of a message loop in the Main App. How can this message loop be moved into the DLL or done away with altogether?

I am running VC++ 2010, but the code is largely C for the native Windows 32bit API. This is under Windows XP SP3.