我想从另一个控制台应用程序(A)运行一个控制台应用程序(B)。但是我想从另一个控制台窗口运行控制台应用程序(B),并关闭原始窗口(从控制台应用程序A)。
我想用谷歌搜索它,但是似乎没有人遇到同样的问题,因为我是C#的新手,而且我是自学成才的,对此了解不多。
另外,我不知道如何通过代码启动任何应用程序。
感谢你的帮助,也很抱歉我的英语:D
我想从另一个控制台应用程序(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”时的输出:
这真的很有帮助,我知道这里发生了什么!!但是我看到您正在使用.exe文件,但我不知道如何创建它们。感谢您的帮助:D
该
.exe
s的时生成或运行应用程序创建。在项目文件夹中,您会找到一个名为的子文件夹bin
。在该子文件夹中将是debug
和/或release
子文件夹(取决于运行Visual Studio的模式)。在这两个文件夹中,您将找到.exe
应用程序文件的最新编译版本。非常感谢!真的很有帮助!:D