When I run it from the SDK manager, the loading process works, but once it is done, a flash of the emulator appears then quickly disappears.
Sometimes after it loads, no
The Android emulator uses loopback ports (5554, 5556, etc) to communicate with the external ADB. If it can't do so, it assumes that other emulator instances are occupying these ports.
Failure to do so can be because:
A) Your ports are occupied? Try netstat -an | grep 5554
B) Your loopback interface is not configured - You said you're on Windows - Make sure Windows Loopback is configured (try pinging yourself). (On Linux the same would be achieved by "ifconfig lo", and see. It should be configured, with the right IP (127.0.0.1) and up.
Incidentally, it's MUCH easier to use Android SDK on Linux, because that way both target and host are Linux. Consider running the whole thing in a VM image - and your SDK Experience will be immeasurably easier. From experience.