我试图在通过单击按钮启动的控制台中显示文本。我想我需要输入控制台的路径,在该路径中我已打上问号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/