2011-06-28 30 views
6

Làm cách nào để chạy ứng dụng bảng điều khiển trong C#, chuyển tham số tới ứng dụng và nhận kết quả của ứng dụng bằng Unicode? Console.WriteLine được sử dụng trong ứng dụng giao diện điều khiển. Điểm quan trọng là viết Unicode trong Ứng dụng Console.chạy ứng dụng giao diện điều khiển trong C# với tham số

+0

Rất nhiều bài đăng. Bàn điều khiển chỉ hỗ trợ mã hóa ký tự 8 bit. Về mặt kỹ thuật, bạn có thể chuyển đổi Console.OutputEncoding thành utf8. Điều đó sẽ không đẹp nếu bạn chạy nó mà không cần chuyển hướng. Sử dụng một tập tin thay vào đó sẽ là một ý tưởng tốt. –

Trả lời

10

mẫu từ MSDN

// Start the child process. 
Process p = new Process(); 
// Redirect the output stream of the child process. 
p.StartInfo.UseShellExecute = false; 
p.StartInfo.RedirectStandardOutput = true; 
p.StartInfo.FileName = "Write500Lines.exe"; 
p.Start(); 
// Do not wait for the child process to exit before 
// reading to the end of its redirected stream. 
// p.WaitForExit(); 
// Read the output stream first and then wait. 
string output = p.StandardOutput.ReadToEnd(); 
p.WaitForExit(); 
4

Check-out Process.Start():

MSDN - Process.Start Method

Mã của bạn có thể sẽ giống như thế:

var process = Process.Start(pathToProgram, argsString); 

process.WaitForExit(); 

var exitCode = process.ExitCode; 

Nếu bởi "kết quả của việc áp dụng giao diện điều khiển" bạn có nghĩa là bất kỳ đầu ra của chương trình đến giao diện điều khiển trong khi nó chạy ... bạn sẽ cần phải nhìn vào tài liệu và tìm ra cách chuyển hướng đầu ra của chương trình từ bàn điều khiển sang luồng khác.

1

Hãy xem qua lớp Process. Bạn có thể gọi bất kỳ tệp thực thi nào bằng cách sử dụng Process.Start ("myexe.exe");

3

thử với bên dưới mã, ở đây " Amay "là một đối số.

System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(@"E:\\ConsoleApplicationt\bin\Debug\ConsoleApplicationt.exe", "Amay"); 

System.Diagnostics.Process p = System.Diagnostics.Process.Start(info); 
Các vấn đề liên quan