WPF应用程序退出代码

Nig*_*ker 12 .net c# wpf

我正在尝试设置并获取应用程序退出代码.

我正在尝试做以下事情:

protected override void OnStartup(StartupEventArgs e)
{
    base.OnStartup(e);

    if ( e.Args.Length != 0)
    {


    }
    else
    {
        new MainWindow().ShowDialog();
    }
    Environment.ExitCode = 110;
    this.Shutdown();
}
Run Code Online (Sandbox Code Playgroud)

然后我试图cmd通过它echo %ERRORLEVEL%

但我总是得到结果0,任何想法是什么问题?

def*_*mer 11

对于WPF,请尝试

Application.Current.Shutdown(110);
Run Code Online (Sandbox Code Playgroud)

请注意,应用程序需要作为控制台应用程序运行.这个答案是我所知道的最简单的方法; 接受的答案看起来更难.

一个简单的测试,告诉您是否在控制台模式下运行:从命令行调用您的应用程序(确保您的代码不会立即关闭).应显示主窗口.如果您可以在控制台中键入另一个命令,则您的应用程序不会在其上下文中运行.应锁定命令提示符,等待您关闭窗口.

  • 从Visual Studio中进行测试时要小心,因为退出代码来自调试主机进程,因此退出代码为0.我根本不需要更改控制台应用程序,我的WPF win应用程序直接返回正确的退出代码. (2认同)