I may not be understanding exactly what you are after, but, as a test, I created a new console app in the IDE. To that, I added a reference to System.Windows.Forms.dll. From there, I created a new form named TestForm, and added some controls to it. From there, I altered my main method to look like (entire class here)
using System; using System.Windows.Forms; namespace MixedAppTest { /// <summary> /// Summary description for Class1. /// </summary> class Class1 { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main(string[] args) { if (args.Length>0) { Application.Run(new MixedAppTest.TestForm()); } else { Console.WriteLine("Hello there"); Console.ReadLine(); } // // TODO: Add code to start application here // } } } (comcast web interface is messing with my formatting, paste into new class and it should be ok). If I launch the app from the command line with no params, I get the command line prompt. If I include any params, I get the form. does that help? I'm not sure if this is what you are after. -------------- Original message -------------- > I think the typical way to do this is with staged executables. > > devenv (the command line utility for the Visual Studio IDE) is actually two > executables. When you type devenv on the command line, you're actually > running the command line version, which will spawn the true Windows app as > necessary. To do this, there's two executables: > devenv.comand > devenv.exe. From a command prompt, the .com file has precedence (it's really > just a renamed .exe; it doesn't have to be a .com file). When run from the > shell (i.e., start/run), the .exe file has precendence. > > I think you'll end up having to do the same thing. > > On 7/25/05, Kamen Lilov wrote: > > > > I have a WinForms app. When started directly (without cmd line > > parameters), > > I want it to be a regular application - it displays a main form and works > > as > > expected. > > > > When invoked with certain parameters, however, I want it to be treated as > > a > > Win32 console app. I want to be able to do Console.Write and emit the > > output in the command session where the app was started. I know I can > > PInvoke and call AllocConsole but this is _not_ what my intention is. The > > console of my caller (e.g. the cmd.exe prompt) should be the one that gets > > my output, and I want the application to execute fully before control is > > returned to the console - or to the next app in a batch file. > > > > How do I approach this? > > > > -- > Brad Wilson > http://www.dotnetdevs.com/ > http://www.agileprogrammer.com/dotnetguy/ > > Peter: "Oh my god, Brian, there's a message in my Alphabits. It says, > 'Oooooo.' " > Brian: "Peter, those are Cheerios." > - Family Guy > > =================================== > This list is hosted by DevelopMentorĀ® http://www.develop.com > > View archives and manage your subscription(s) at http://discuss.develop.com =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com