C\#exe 인삼 을 호출 하고 인쇄 값 의 인 스 턴 스 를 가 져 옵 니 다.

호출 방법:

string baseName = System.IO.Directory.GetCurrentDirectory();
 // baseName+"/"
 // string fileName = @"C:\Users\59930\Desktop\20170605\WindowsFormsApp1\WindowsFormsApp1\WindowsFormsApp1\bin\x86\Debug\WindowsFormsApp1.exe";
 string fileName = baseName + @"\CardRead.exe";
 string para = "1.exe " + code;          
 Process p = new Process();
 p.StartInfo.UseShellExecute = false;
 p.StartInfo.RedirectStandardOutput = true;
 p.StartInfo.FileName = fileName;
 p.StartInfo.CreateNoWindow = true;
 p.StartInfo.Arguments = para;//       ,        ,    ””  
 p.Start();
 p.WaitForExit();
 string output = p.StandardOutput.ReadToEnd();
호출 된 exe 반환 값 에 쓰기

Console.Write(mmma); 
보충:c\#외부 exe 를 호출 하 는 방법 은 간단 하고 복잡 하 다.
가장 쉬 운 것 은 프로 세 스 류 를 직접 이용 하 는 것 이다.

using System.Diagnostics;
Process.Start(" demo.exe");
상세 하 게 설정 하고 싶다 면,

  public static void RunExeByProcess(string exePath, string argument)
  {
   //    
   System.Diagnostics.Process process = new System.Diagnostics.Process();
   //   exe   
   process.StartInfo.FileName = exePath;
   //   exe   
   process.StartInfo.Arguments = argument;
   process.StartInfo.UseShellExecute = false;
   //   exe   
   process.StartInfo.CreateNoWindow = true;
   process.StartInfo.RedirectStandardOutput = true;
   process.StartInfo.RedirectStandardInput = true;
   process.Start();
 
   process.StandardInput.AutoFlush = true;
   //        
   process.WaitForExit();
  }
호출 프로그램 이 되 돌아 오 는 결 과 를 가 져 오 려 면 위의 약간의 수정 을 통 해 되 돌아 오 는 값 을 추가 하면 됩 니 다.

public static string RunExeByProcess(string exePath, string argument)
  {
   //    
   System.Diagnostics.Process process = new System.Diagnostics.Process();
   //   exe   
   process.StartInfo.FileName = exePath;
   //   exe   
   process.StartInfo.Arguments = argument;
   process.StartInfo.UseShellExecute = false;
   //   exe   
   process.StartInfo.CreateNoWindow = true;
   process.StartInfo.RedirectStandardOutput = true;
   process.StartInfo.RedirectStandardInput = true;
   process.Start();
 
   process.StandardInput.AutoFlush = true;
 
   string result = null;
   while (!process.StandardOutput.EndOfStream)
   {
    result += process.StandardOutput.ReadLine() + Environment.NewLine;
   }
   process.WaitForExit();
   return result;
  }
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.만약 잘못 이 있 거나 완전히 고려 하지 않 은 부분 이 있다 면 아낌없이 가르침 을 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기