0

我正在尝试hypertrm.exe使用myProcess.StartInfo.FileName = @"hypertrm.exe";c# 打开。现在根据我的要求,我需要通过输入用户名和密码登录机器。为了登录机器,我正在编写以下命令..

Process hyperProcess = new Process();
hyperProcess.StartInfo.FileName = @"hypertrm.exe";
hyperProcess.EnableRaisingEvents = true;
hyperProcess.Start();

if (hyperProcess.Responding)
{
    string username = "username";
    System.Windows.Forms.SendKeys.SendWait(username + "{ENTER}");

    Application.DoEvents();
    Thread.Sleep(5000);
    //Similarly Entered Password
}

现在只要正确输入用户名、密码,文本数据就会显示到超级终端窗口中。现在我如何使用 c# 以编程方式将该数据写入文本文件。

这是我更新的代码,我想通过它打开我创建为连接文件的 .ht 文件,现在我想在超级终端的帮助下打开并在超级终端中执行一些命令。

            var fileToOpen = @"D:\HyperTerminal\test.ht";
            var myProcess = new Process();
            myProcess.StartInfo = new ProcessStartInfo()
            {
                UseShellExecute = true,
                FileName = fileToOpen
            };

            myProcess.Start();               

            if (myProcess.Responding)
            {
                string username = "";

                System.Windows.Forms.SendKeys.SendWait(username + "{ENTER}");

                Application.DoEvents();

                Thread.Sleep(5000);

                string password = "";

                System.Windows.Forms.SendKeys.SendWait(password + "{ENTER}");

                Application.DoEvents();

                Thread.Sleep(5000);

                string Command = "";

                System.Windows.Forms.SendKeys.SendWait(Command + "{ENTER}");

                Application.DoEvents();

                Thread.Sleep(5000);


                using (var writer = new StreamWriter(@"E:/Hyper/data.txt"))                    
                {
                    writer.Write(myProcess.StandardOutput.ReadToEnd());
                }

                myProcess.Close();

            }

        }           
        catch
        {
        }

现在我想知道这是我从超级终端获取数据的正确方法。

请帮助我..提前谢谢..

4

1 回答 1

0

您可以重定向进程的输出。抬头看RedirectStandardOutput

var process = new Process
    {
        StartInfo = {
            FileName = @"ping.exe", 
            UseShellExecute = false, 
            RedirectStandardOutput = true
        }
    };

process.Start();

using ( var writer = new StreamWriter( @"output.txt" ) )
{
    writer.Write( process.StandardOutput.ReadToEnd() );
}
于 2014-04-02T21:05:11.237 回答