C# ConsolApp opens new window

CipherIS
CipherIS used Ask the Experts™
on
I'm working on a ConsoleApp.  Right now it's simple.  I will be adding functionality to it.  Write now I'm just passing some values to it and writing the results to the console.  I mostly work on winforms and web.

When I run the consoleapp it opens a new window.  Is there a way to run it and display the results on the same window without opening a new window?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Ryan ChongSoftware Team Lead

Commented:
consider the Console App as a process flow, once it's executed completely, it will be closed. similarly, once you run it, it will open a new window as it's considered as a new process.

Author

Commented:
Is that how it is supposed to run?  Any way to get it to display in the same command window when I execute it?
Fernando SotoRetired
Distinguished Expert 2017

Commented:
Can you post the code you are using or if it is a small test project can you zip it up and post to a site where we can download it to see what is the issue? Thanks.

Author

Commented:
I haven't done much yet.  Just testing the consoleapp.  This is what I have right now.  I will expand on it but I want to make sure I'm getting the desired results first.

        public static void Main(string[] args)
        {
            for (int i = 0; i < args.Length; i++)
            {
                Console.WriteLine("{0}", args[i]);
            }

            Console.ReadKey(true);
        }

Open in new window

Fernando SotoRetired
Distinguished Expert 2017

Commented:
That should open the applications interface which is the console window and all of its output should be going to it.

So are you saying that you are running the command window, cmd.exe, and executing the ConsoleApplication from it and want to the results from the ConsoleApplication to show up on the command window without the ConsoleApplication showing itself?
Retired
Distinguished Expert 2017
Commented:
If you do want to start the program from a command prompt without showing the Console App window start it with the start command like the following if in the same directory.
start /B AppName.exe ParamsHere

Open in new window

Or from not in the same directory
start /B /D "Directory Path Here" AppName.exe ParamsHere

Open in new window

anarki_jimbelSenior Developer

Commented:
May be all you need to do is just create an infinite loop in your application?

namespace Looping_in_console
{
    class Program
    {
        static void Main(string[] args)
        {
            bool doContinue = true;
            while (doContinue)
            {
                // read input values
                string input = Console.ReadLine();
                // Do you processing and print results
                // On the next iteration you may continue
                Console.WriteLine("You typed '"+ input + "'");

                // To exit - type "exit", for example
                if (input.ToLower() == "exit")
                {
                    doContinue = false;
                    Console.WriteLine("Good bye!");
                    Console.ReadLine();
                }
            }
        }
    }
}

Open in new window

Author

Commented:
An infinite loop?
Fernando SotoRetired
Distinguished Expert 2017

Commented:
Hi CipherIS; did you try my last post?

Author

Commented:
Yes, it didn't work.  Still popped open another window.
anarki_jimbelSenior Developer

Commented:
Yes. I'm not quite getting your requirements. If you just need to run your application, enter your data, display results, and repeat it again and again without restarting your console application - you may use the approach I showed in my example. If you need something else - forget.
Fernando SotoRetired
Distinguished Expert 2017

Commented:
Can you post the steps you took to use the solution I posted, because if you used the /D switch it should not have opened a new window.

Author

Commented:
When I type
start /B AppName.exe ParamsHere

Open in new window

or
start /B /D "Directory Path Here" AppName.exe ParamsHere

Open in new window

They both start the app in a new window.
Fernando SotoRetired
Distinguished Expert 2017

Commented:
Here is the Microsoft documentation for the DOS command-line command [start] please note the /b switch. It does work like that on my system. I don't understand why it is not working that way on yours. Can you use lower case b in command line? Also what OS version are you using?

Author

Commented:
Windows 10
Fernando SotoRetired
Distinguished Expert 2017

Commented:
I also am using Windows 10 myself.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial