Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Thu, 14 Oct 2004 13:16:59 -0400 (EDT) From: Igor Pechtchanski Reply-To: cygwin AT cygwin DOT com To: "Gary R. Van Sickle" cc: cygwin AT cygwin DOT com Subject: RE: non-interactive cygwin setup In-Reply-To: <6290c469f12b7d558c1abb45766f7253@NO-ID-FOUND.mhonarc.org> Message-ID: References: <6290c469f12b7d558c1abb45766f7253 AT NO-ID-FOUND DOT mhonarc DOT org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Scanned-By: MIMEDefang 2.39 On Thu, 14 Oct 2004, Gary R. Van Sickle wrote: > [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. Well, running the command-line program will pop up a console window if it's not running from a console already. How's that different from just using AllocConsole in the GUI version? In fact, isn't this what MSVCRT does under the covers anyway? Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT com |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D. '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "Happiness lies in being privileged to work hard for long hours in doing whatever you think is worth doing." -- Dr. Jubal Harshaw -- 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/