On Sat, 06 Apr 2013 11:38:14 -0400, Vladimir Panteleev
<vladi...@thecybershadow.net> wrote:
Um, that's exactly how it works. There is a value in the PE header which
determines this. The corresponding linker flag is /SUBSYSTEM:WINDOWS for
a GUI program or /SUBSYSTEM:CONSOLE for a console program.
The flag specifies that you want to run a console application, but want
to suppress its console window.
Shit, I didn't remember this correctly at all!
Yes, I remember now. It was for GUI applications that wanted to run a
console application. Because there was no console window for the parent
process, windows creates one.
Like an application that wanted to run a script or something. I ran into
this a million years ago when I was using Tango, and I had a GUI agent
that ran programs on behalf of a remote process, and annoying console
windows would pop up if the application was a script, seemingly at random.
Sorry I misrepresented!
In light of this, there really is no good reason it was called gui! I
probably was this confused when I picked that name to begin with ;)
-Steve