You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在C#控制台应用程序中从Main方法启动新控制台窗口?

能否在C#的Main方法中启动新控制台窗口?

当然可以!这完全能实现你想要的恶搞效果——当老师输入无效值时自动弹出新的控制台窗口。你给出的代码思路是对的,但有几个小细节需要调整,我来帮你完善一下:

首先,Main方法的参数应该是string[] args(不是string args),另外Process.Start()需要指定要启动的程序,我们要开新控制台的话,直接启动系统的cmd.exe就可以了。

下面是完整的示例代码,包含无效值判断的逻辑:

using System;
using System.Diagnostics;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("请输入有效内容:");
        string input = Console.ReadLine();

        // 这里定义你的无效值判断逻辑,比如输入为空或者不是指定内容就判定无效
        if (string.IsNullOrEmpty(input) || input != "正确密码")
        {
            // 启动新的控制台窗口
            Process.Start(new ProcessStartInfo("cmd.exe")
            {
                CreateNoWindow = false, // 一定要设为false,不然不会弹出窗口
                UseShellExecute = true
            });

            // 可以再加个恶搞提示
            Console.WriteLine("输入无效!准备接受惩罚吧😈");
        }
        else
        {
            Console.WriteLine("输入有效,放行~");
        }
    }
}

简单解释一下关键部分:

  • ProcessStartInfo用来配置启动进程的参数,CreateNoWindow = false确保新控制台窗口会显示出来
  • 你可以根据需求修改无效值的判断条件,比如只要不是你预设的正确输入就触发恶搞
  • 如果想让新窗口一打开就执行点什么(比如输出恶搞文字),还可以给cmd.exe加参数,比如Process.Start("cmd.exe", "/c echo 哈哈你中招了! & pause"),这样新窗口会直接显示这句话并等待按键

这样运行程序后,只要输入不符合要求,就会弹出新的控制台窗口,完美达成你的恶搞目标😎

内容的提问来源于stack exchange,提问作者Julian A Avar C

火山引擎 最新活动