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.