我试图在通过单击按钮启动的控制台中显示文本。我想我需要输入控制台的路径,在该路径中我已打上问号Process.Start(“ ????”)。如何找到控制台路径?

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        Process.Start("????");
        Console.WriteLine("Adam");
        Console.Read();
    }
}

最佳答案

您需要做的是从Windows API中获取控制台。这将创建一个控制台应用程序的新实例,该实例可以输出和读取等。

public partial class Form1 : Form
{
    [DllImport("kernel32.dll", SetLastError = true)]
    internal static extern int AllocConsole();

    [DllImport("kernel32.dll", SetLastError = true)]
    internal static extern int FreeConsole();

    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        int alloc = AllocConsole(); // Grab a new console to write to
        if (alloc != 1)
        {
            MessageBox.Show("Failed");
            return;
            }
        Console.WriteLine("test");

        Console.WriteLine("Adam");
        string input = Console.ReadLine();
        Console.WriteLine(input);
        // Do other funky stuff

        // When done
        FreeConsole();
    }
}

关于c# - C#中的控制台路径是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13879187/

10-15 05:50