请问关于process打开控制台程序锁死的有关问题
请教关于process打开控制台程序锁死的问题
各位高手大家好,小弟vb.net新手,现在要在VS2003环境下编译一个程式,用VB控制一个用C++写的控制台程序,代码如下:
然后我一点击按钮,程序就锁死了。我大概看了下网上的介绍,应该是输入输出同步陷入等待所致,因为我那个test.exe只是简单的输出几行字,然后getchar()等待随意输入一个字符就退出。
如果这个时候我在代码中随便writeline一个字,就正常了,但是我要控制的那个程序是反复输入输出的,所以不能简单退出就行。
还请大家帮忙,非常感谢!
------解决方案--------------------
这么多天还是没人理会么~~~
各位高手大家好,小弟vb.net新手,现在要在VS2003环境下编译一个程式,用VB控制一个用C++写的控制台程序,代码如下:
Dim a As Process = New Process
Dim b As ProcessStartInfo = New ProcessStartInfo
b.FileName = "test.exe"
b.RedirectStandardInput = True
b.RedirectStandardOutput = True
b.RedirectStandardError = True
b.WindowStyle = ProcessWindowStyle.Hidden
b.UseShellExecute = False
b.CreateNoWindow = True
a.StartInfo = b
a.Start()
System.Threading.Thread.Sleep(1000)
m = a.StandardOutput.ReadLine
TextBox1.Text = m
然后我一点击按钮,程序就锁死了。我大概看了下网上的介绍,应该是输入输出同步陷入等待所致,因为我那个test.exe只是简单的输出几行字,然后getchar()等待随意输入一个字符就退出。
如果这个时候我在代码中随便writeline一个字,就正常了,但是我要控制的那个程序是反复输入输出的,所以不能简单退出就行。
还请大家帮忙,非常感谢!
------解决方案--------------------
这么多天还是没人理会么~~~