停止windows命令提示符的“返回”启动可执行文件后

本文关键字:启动 可执行文件 返回 windows 命令提示符 停止 | 更新日期: 2023-09-27 18:16:26

我正在开发一个应用程序,如果它们对用户没有用处,则将一些异常消息写入Console。因此,如果有人通过简单地双击它来运行可执行文件,他们将永远不会看到这些消息。

在Visual Studio中,这些消息显示在输出窗口中,但在我的情况下,我正在一台没有安装Visual Studio的机器上测试我的应用程序,尽管我仍然想看看是否有这些消息出现。

在过去,我只是简单地从命令提示符运行可执行文件,它作为Visual Studio的输出窗口。虽然由于某些原因,我的应用程序,当从命令提示符运行时,简单的"返回",不显示任何消息。

例如,我可以这样开始,它立即返回

D:'>MyApp.exe
D:'>

当我运行它时,我不确定是否有一个特定的开关我应该使用(我已经尝试过/K但无济于事),或者如果有一些关于我的应用程序导致它返回。

关于如何通过命令行运行它以便我可以看到消息,有什么想法吗?

供参考这里是我的应用程序Program.cs

static class Program
{
    static Mutex mutex = new Mutex(true, "{12345678-1234-1234-1234-123456789012}");
    [STAThread]
    static void Main()
    {
        if (mutex.WaitOne(TimeSpan.Zero, true))
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            SplashScreen.ShowSplashScreen();
            Application.Run(MainForm.Instance);
            mutex.ReleaseMutex();
        }
        else
            NativeMethods.PostMessage((IntPtr)NativeMethods.HWND_BROADCAST, NativeMethods.WM_JTTMAINWINDOW, IntPtr.Zero, IntPtr.Zero);
    }
}

停止windows命令提示符的“返回”启动可执行文件后

要允许程序输出到控制台,将其构建为控制台应用程序。

在Visual Studio中,相关的链接器选项是/SUBSYSTEM:Console;或者,当创建一个新项目时,选择"console application"模板,它将自动设置链接器选项。

这也意味着如果您从命令提示符运行程序,命令提示符将等待程序退出。此外,如果您双击程序而不是从命令提示符运行它,将自动创建一个控制台窗口。

(没有办法让命令提示符等待一个程序,但防止程序创建一个控制台窗口,如果双击。