从作为控制台应用程序运行的WinForms应用程序设置应用程序退出代码/错误级别

时间:2019-02-27 20:24:56

标签: c# winforms console-application .net-4.6.1

如何从作为控制台应用程序运行的Winforms应用程序设置应用程序退出代码?当然,无需将控制台应用程序分成单独的DLL。

我有一个Winforms应用程序。过去,有人决定创建命令行参数,将其作为控制台应用程序而不是WinForms应用程序运行。我知道将其分解到一个单独的控制台应用程序项目中是一种解决方案,但是如果没有这种解决方案,是否可以设置应用程序退出代码?

我尝试过:

  1. 具有main返回一个int

  2. 调用Environment.Exit(int)

  3. 设置Environment.ExitCode = int

没有工作。

然后当然从命令行运行以下命令。但是错误代码没有更新。

  

回声%errorlevel%

public static class Program
{
    // defines for commandline output
    [DllImport("kernel32.dll")]
    static extern bool AttachConsole(int dwProcessId);

    private const int ATTACH_PARENT_PROCESS = -1;

    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    public static int Main(string[] args)
    {
        // redirect console output to parent process;
        // must be before any calls to Console.WriteLine()
        AttachConsole(ATTACH_PARENT_PROCESS);

        //make sure to update 0 to another number to make sure you aren't getting a false positive
        return 0;
    }
}

0 个答案:

没有答案