2014-04-02 24 views
0

我想在c#中使用myProcess.StartInfo.FileName = @"hypertrm.exe";打開hypertrm.exe。按照我的要求,我需要通過輸入用戶名和密碼登錄到計算機。機器我寫下面的命令..如何使用C#接收進入hypertrm.exe到文本文件的文本值

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#文本數據將被dispalyed進入超級終端window.Now。

這是我更新的代碼由我想打開我的連接文件創建.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 
     { 
     } 

現在我想知道這是我的方法正確,從超級終端獲取數據。

請幫我..Thanks提前..

+0

看看在C#中直接使用SerialPort類,而不是通過控制檯應用程序與HyperTerm交互。 Google會提供幫助。 http://www.codeproject.com/Questions/695712/reading-data-from-hyperterminal-serial-port-csharp –

+0

@JohnArlen先生,我試圖做到這一點,我也是部分成功,但是問題是什麼,我我沒有得到機器的緩衝區數據... – Ram

回答

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()); 
} 
+0

先生我創建了一個超級終端連接名稱,現在我想通過process.Start()打開該代碼,但只要此代碼執行隨機警報框時出現錯誤「無法讀取會話文件「和錯誤框的標題是」超級終端「。爲什麼這是未來先生以及如何解決它? – Ram

+0

先生請看我更新的代碼.. – Ram

相關問題