Warm tip: This article is reproduced from serverfault.com, please click

visual studio-从其他C#控制台应用程序运行C#控制台应用程序

(visual studio - Run c# console app from other c# console app)

发布于 2020-11-28 14:19:22

我想从另一个控制台应用程序(A)运行一个控制台应用程序(B)。但是我想从另一个控制台窗口运行控制台应用程序(B),并关闭原始窗口(从控制台应用程序A)。

我想用谷歌搜索它,但是似乎没有人遇到同样的问题,因为我是C#的新手,而且我是自学成才的,对此了解不多。

另外,我不知道如何通过代码启动任何应用程序。

感谢你的帮助,也很抱歉我的英语:D

Questioner
Pars
Viewed
11
Idle_Mind 2020-11-28 23:58:34

我想从另一个控制台应用程序(A)运行一个控制台应用程序(B)。但是我想从另一个控制台窗口运行控制台应用程序(B),并关闭原始窗口(从控制台应用程序A)。

标准的Process.Start()调用应该可以完成这项工作。

控制台应用程序A:

public static void Main(string[] args)
{
    Console.WriteLine("This is Console App 'A'...");

    string fullPathToB = @"C:\Users\mikes\Documents\Visual Studio 2017\Projects\CS_Console_Scratch2\CS_Console_Scratch2\bin\Debug\ConsoleAppB";
    Process.Start(fullPathToB);

    // this console app will close when we hit the end bracket for Main()
}

控制台应用B:

public static void Main(string[] args)
{
    Console.WriteLine("This is Console App 'B'...");

    Console.WriteLine("Press Enter to Quit");
    Console.ReadLine();
}

但是你会看到不同的结果,具体取决于启动控制台应用程序“ A”的方式。如果从文件资源管理器中双击“ A”,则“ A”的控制台窗口将关闭,并且你只会看到“ B”。

如果你已经在命令提示符下并启动“ A”,则该控制台将保持打开状态,并且你将同时看到它和“ B”。这两种情况如下所示。

从文件资源管理器启动“ A”时的输出:

在此处输入图片说明

从现有命令提示符启动“ A”时的输出:

在此处输入图片说明