要立即陷入困境,这是一个非常基本的例子:
using System;
using System.Windows.Forms;
class test
{
static void Main()
{
Console.WriteLine("test");
MessageBox.Show("test");
}
}
Run Code Online (Sandbox Code Playgroud)
如果我使用默认选项(在命令行使用csc)编译它,正如预期的那样,它将编译到控制台应用程序.另外,因为我导入了System.Windows.Forms,它还会显示一个消息框.
现在,如果我使用该选项/target:winexe,我认为Windows Application与在项目选项中选择相同,正如预期的那样,我只会看到消息框而没有控制台输出.
(事实上,从命令行启动它的那一刻,我可以在应用程序完成之前发出下一个命令).
所以,我的问题是 - 我知道你可以从控制台应用程序获得"windows"/表单输出,但是无论如何从Windows应用程序显示控制台?
所以我正在使用的程序可以使用以下代码在CMD中使用命令行启动.
string[] commandLines = Environment.GetCommandLineArgs();
Run Code Online (Sandbox Code Playgroud)
但是我希望能够在处理命令行之后将消息返回到CMD窗口.任何帮助,将不胜感激.
编辑:我将程序作为Windows应用程序运行,而不是控制台应用程序.