[snip] > >I thought if a GUI app called printf it generally caused a > console to > >be opened for it. Maybe that's only with msvcrt. In any case, the > >fact is that it is being run from a cmdline and so it certainly can > >communicate with the console. The presence of command-line > options in > >argc/argv could be taken as a fairly strong hint that it was > being run > >from a shell rather than an icon. And there's always > "isatty (1)" if > >you really really want to be sure. > > This is a windows limitation. GUI apps (apps created with > -mwindows) can't send output to or receive input from the > console. Of course, a GUI can interpret command line > information. It just cannot send output to the console that > started it. > > You could use AllocConsole to create a separate console which > the GUI could then use, however.
Here's a maybe-less-icky way to do it. Have two exes, one "setup.exe" which is a 100% command-line program that normally just spawns "winsetup.exe", the current GUI setup, and goes away. Give it "--help", and it prints help in the regular command-line way and exits. Yeah, two exes, but worse tragedies have happened. -- Gary R. Van Sickle -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/