【问题标题】:To exit the console window in a C# console application在 C# 控制台应用程序中退出控制台窗口
【发布时间】:2014-02-17 22:41:38
【问题描述】:

我想在我的文件写入后端文件夹后立即退出控制台窗口,但无论我尝试什么,

Environment.exit(0);
Environment.exit(1);
Environment.exit(-1);

另外,由于我从 Main 方法执行,我正在返回值,但即使在文件写入目标文件夹后,我的控制台窗口仍然没有关闭。

下面是我的代码,

static void Main(string[] args)
{
    string execute = "";
    execute = data_info_pooling(args[0], args[1], args[2]);
    Environment.Exit(0);
}

我也尝试使用Application.exit();,但我无法在下拉框中获取应用程序。我已经探索了 StackOverflow 中几乎所有可能的帮助链接并搜索了任何帮助,但我不知道我哪里出错了。

我正在尝试通过打开命令提示符然后执行以下命令来运行此控制台应用程序

cd "Project Path\Debug"
"Project.exe" "First Parameter" " Second Parameter" "Third Parameter"`,

文件写入目标文件夹后,控制台窗口等待,按 Enter 后它只是再次给出执行路径,但我希望窗口在写入任务后立即退出文件已完成。

第二版代码

我已经删除了不必要的 for 循环。实际上,我在应用我的逻辑时是错误的,并为我的错误道歉。下面的一些 cmets 帮助我意识到我的错误。终于到了 Environment.exit();

哪个有效。另外我想尝试一下形成批次的另一个答案。

【问题讨论】:

  • 您是否按照this 答案中的建议尝试了/C 参数切换?
  • 您已经退出 .NET 进程。杀死它运行的命令提示符真的很奇怪,IMO。
  • 您可能有特定的原因要关闭窗口,但在您的示例中这似乎很愚蠢。如果用户正在做其他事情并且不希望某些可执行文件关闭他们的窗口怎么办?
  • 实际上..我真正的尝试是,我只希望我的控制台窗口在我的结果存储在目标文件夹中后立即退出,但控制台窗口继续留在屏幕上......并且需要进一步处理就像按任意键继续..我不希望这种情况发生。
  • 如果您正确管理线程,操作完成后应用程序将自动退出。

标签: c# windows console-application


【解决方案1】:

Environment.ExitApplication.Exit

Environment.Exit(0) 更干净。

【讨论】:

  • @PeterMortensen 这应该是作者提出的问题,但她很清楚并被接受为答案。那么你能在不同的帖子中问你的问题吗?
【解决方案2】:

您还可以将返回值从void 更改为int。然后你可以简单地返回一个ExitCode

 public static int Main(string[] args)
        {
            string execute = ""; 
                for (int i = 0; i < args.Length; i++)
                {
                    string argument = args[i];
                    execute = data_info_pooling(args[0], args[1], args[2]);
                }

           return -1
        }

【讨论】:

    【解决方案3】:

    一旦您的控制台应用程序结束,为其创建的命令窗口(假设您从 Windows Explorer 运行它)将自动关闭。

    但是,如果您先打开命令窗口,在运行 exe 文件时指定参数,则资源管理器不会关闭它(显然)。

    一种可能的解决方案是将会话包装到batch file。使用以下内容创建project.bat

    Project.exe "First Parameter" " Second Parameter" "Third Parameter"
    ; some other jobs
    

    运行该批处理文件(直接来自Windows Explorer)会将参数传递给您的应用程序,命令窗口将在结束时关闭。

    这是你想要的吗?

    【讨论】:

      猜你喜欢
      • 2019-01-18
      • 2011-04-20
      • 2011-04-04
      • 1970-01-01
      • 2010-12-19
      • 2016-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多