在命令shell中退出WPF应用程序
本文关键字:WPF 应用程序 退出 命令 shell | 更新日期: 2023-09-27 18:10:05
我有一个WPF应用程序,它接受命令行参数,在某些情况下返回一个退出值而不启动应用程序。我已经替换了这个问题中的入口点替换了WPF入口点。当我在没有参数的情况下运行Visual Studio时,它会按预期启动我的应用程序。当我提供一个参数时,一切看起来都很好,我得到一行告诉我"程序XXX已退出,代码为66"
当我不带参数从CMD命令行运行时,它会按预期启动应用程序。当我提供一个参数并查看%ERRORLEVEL%时,我得到的退出代码是0而不是66。这里发生了什么?
namespace WpfApplication2
{
public class EntryPoint
{
[STAThread]
public static void Main(string[] args)
{
if (args.Count > 0)
{
Environment.Exit(66);
}
App.Main();
}
}
public partial class App : Application
{
}
}
您的应用程序是有窗口的,并且就命令窗口而言是在后台运行的,因此%errorlevel%
仅显示应用程序已启动。当应用程序以后退出时,退出代码将丢失。
如https://stackoverflow.com/a/11476681中所述,如果使用START /WAIT
启动应用程序,则命令窗口将等待应用程序退出,并将退出代码存储在%errorlevel%
中。