我想用C#做什么。我有两个按钮和两个文本框,首先我想在textbox1中写一些内容,然后将此消息重定向到控制台,此时,当我的控制台中出现新内容时,textbox2需要读取它,并且该过程应该继续并继续。我想使用我的简单DLL库,它适用于这种情况。我知道如何将消息写入控制台,但我无法从控制台读取每个新消息并将其写入textbox2。
这是我从文本框重定向到控制台,现在我需要读取控制台中出现的任何新文本框。
public partial class NativeMethods
{
public static Int32 STD_OUTPUT_HANDLE = -11;
[System.Runtime.InteropServices.DllImport("kernel32.dll")]
public static extern System.IntPtr GetStdHandle(Int32 nStdHandle);
[System.Runtime.InteropServices.DllImport("kernel32.dll", EntryPoint = "AllocConsole")]
[return: System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.Bool)]
public static extern bool AllocConsole();
}
还有其他地方......
public void console()
{
if(NativeMethods.AllocConsole())
{
IntPtr handle = NativeMethods.GetStdHandle(NativeMethods.STD_OUTPUT_HANDLE);
Console.WriteLine("type: ");
}
else
{
Console.WriteLine("Waiting...");
}
}
单击按钮时使用这些。
答案 0 :(得分:-2)
如果您可以从应用程序启动控制台程序,那么在Process class上重定向I / O流是一个简单的事情:
如果这个过程是由其他任何人开始的 - 无论你采用什么方法,基本上都是黑客攻击。因此,您很可能不得不使用无人管理的代码,但是否认这一点在.NET中开始这样做。此外,它可能会触发安全功能。