If you use ::GetConsoleWindow()'s returned HWND as a parameter, the API doesn't seem to work. Anyone know off hand what's going on internally when they initialize that API? I'm guessing it's very dependent on the Win32 message pump, and this concerns me. They do have their protocol specified in a separate document so I could write software to talk to their servers from scratch, but I would like to avoid doing this and would like to know what's going on inside this API. Comments and tips are welcome.