WPF应用程序退出代码

26 浏览
0 Comments

WPF应用程序退出代码

我正在尝试设置和获取应用程序的退出代码。

我按照以下方式尝试做一些事情:

protected override void OnStartup(StartupEventArgs e)
{
    base.OnStartup(e);
    if ( e.Args.Length != 0)
    {
    }
    else
    {
        new MainWindow().ShowDialog();
    }
    Environment.ExitCode = 110;
    this.Shutdown();
}

然后我在cmd中尝试通过echo %ERRORLEVEL%来获取它。

但我始终得到结果0,有什么问题吗?

0
0 Comments

WPF应用程序退出代码的出现原因及解决方法

在开发WPF应用程序时,有时候需要根据特定的条件来设置应用程序的退出代码。退出代码可以用来指示应用程序的退出状态,以便在需要的时候进行处理。下面我们将介绍退出代码出现的原因以及解决方法。

在WPF应用程序中,我们可以通过重写OnExit方法来设置应用程序的退出代码。在OnExit方法中,我们可以通过ExitEventArgs参数来访问和设置退出代码。具体的解决方法如下所示:

protected override void OnExit(ExitEventArgs e)
{
    e.ApplicationExitCode = your_value;
}

在这段代码中,我们重写了OnExit方法,并通过ExitEventArgs的ApplicationExitCode属性来设置退出代码。你可以将your_value替换为你需要设置的退出代码值。

这样,当应用程序退出时,就会将设置的退出代码传递给操作系统。这将帮助我们在需要的时候进行状态处理或记录。

总结起来,为了设置WPF应用程序的退出代码,我们可以重写OnExit方法,并在ExitEventArgs中设置需要的退出代码值。通过这种方式,我们可以在应用程序退出时指示其退出状态,以便进行相应的处理。

希望这篇文章对你理解WPF应用程序退出代码的出现原因及解决方法有所帮助。如果你在开发WPF应用程序时需要设置退出代码,可以按照上述步骤进行操作。

0
0 Comments

问题原因:在WPF应用程序中,没有默认的Main方法来控制程序的退出码(exit code)。因此,需要创建一个自定义的Main方法来设置退出码。

解决方法:可以通过以下步骤来创建自定义的Main方法:

1. 在解决方案资源管理器中右键单击项目,选择“取消加载项目”来卸载项目。

2. 修改.csproj文件,将改为

3. 在项目中创建自己的Main方法。

示例Main方法和App类代码:

public partial class App : Application {
    [STAThread]
    public static int Main() {
        App app = new App();
        app.InitializeComponent();
        var i = app.Run();
        return i;
    }
    public App() : base() { }
    protected override void OnExit(ExitEventArgs e) {
        e.ApplicationExitCode = 110;
        base.OnExit(e);
    }
}

以上就是解决WPF应用程序退出码问题的方法。希望能够帮助到你。

0
0 Comments

WPF应用程序退出代码的问题通常出现在需要在应用程序关闭时返回一个特定的退出代码的情况下。为了解决这个问题,可以使用以下代码在WPF应用程序中设置退出代码:

Application.Current.Shutdown(110);

需要注意的是,应用程序需要以控制台应用程序的形式运行。可以通过从命令行调用应用程序来测试是否在控制台模式下运行。如果主窗口显示并且可以在控制台中输入其他命令,那么应用程序并没有在自己的上下文中运行。如果控制台命令提示符被锁定,等待你关闭窗口,则表示应用程序正在正确运行。

需要注意的是,在Visual Studio中进行测试时,退出代码将为0,因为它来自调试宿主进程。然而,在我的情况下,我并不需要将应用程序更改为控制台应用程序,我的WPF窗口应用程序直接返回了正确的退出代码。

关于为什么选择退出代码110,这个值来源于问题本身。你应该根据自己的情况选择适当的退出代码。

更多关于退出代码的信息可以参考symantec.com/connect/articles/...

0