如何在没有它的情况下打开Putty Process在另一个窗口中打开

时间:2014-07-10 12:01:27

标签: c# process putty

使用此代码

    Process process = new Process();
    // p.EnableRaisingEvents = true;
    process.EnableRaisingEvents = true;
    process.OutputDataReceived += new DataReceivedEventHandler(p_OutputDataReceived);
    process.StartInfo.RedirectStandardOutput = true;
    process.StartInfo.CreateNoWindow = true;
    process.StartInfo.LoadUserProfile = false;
    process.StartInfo.UseShellExecute = false;
    process.StartInfo.FileName = @"C:\putty.exe"; ; // Gets or sets the application or document to start.
    process.StartInfo.Arguments = "-serial com31 -sercfg 9600,8,n,1,N";//Gets or sets the set of command-line arguments to use when starting the application      
    Thread.Sleep(1000);
    process.Start();//Starts (or reuses) the process resource that is specified by the StartInfo property of this Process component and associates it with the component.   
    process.BeginOutputReadLine();
    process.WaitForExit(); // wait forever with ping

我正在尝试在控制台应用程序中打开putty,但是我使用它的任何时候都会在新窗口中打开,我无法使用process.OutputDataReceived事件输出该进程

我正在使用与此非常相似的代码来打开Iperf并且它可以正常运行

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

Putty 一个console application,因此不会在其stdoutstderr流上提供输出。

由于 windowed application,因此不关心是否使用CreateNoWindow标志启动它。尝试使用该标志启动notepad.exe,您会看到它显然出现。

然而,Putty的创建者提供了一个程序,可以提供您需要的功能。

它被称为Plink.exe,您可以在homepage

上下载