151
Chương 4: Tiểu trình, tiến trình, và sự đồng bộ
Ví dụ dưới đây sử dụng
Process
để thực thi Notepad trong một cửa sổ ở trạng thái phóng to và
mở một file có tên là C:\Temp\file.txt. Sau khi tạo, ví dụ này sẽ gọi phương thức
Process.WaitForExit
để dừng tiểu trình đang chạy cho đến khi tiến trình kết thúc hoặc giá trị
time-out (được chỉ định trong phương thức này) hết hiệu lực.
using System;
using System.Diagnostics;
public class StartProcessExample {
public static void Main () {
// Tạo một đối tượng ProcessStartInfo và cấu hình cho nó
// với các thông tin cần thiết để chạy tiến trình mới.
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "notepad.exe";
startInfo.Arguments = "file.txt";
startInfo.WorkingDirectory = @"C:\Temp";
startInfo.WindowStyle = ProcessWindowStyle.Maximized;
startInfo.ErrorDialog = true;
// Tạo một đối tượng Process mới.
using (Process process = new Process()) {
// Gán ProcessStartInfo vào Process.
process.StartInfo = startInfo;
try {
// Khởi chạy tiến trình mới.
process.Start();
// Đợi tiến trình mới kết thúc trước khi thoát.
Console.WriteLine("Waiting 30 seconds for process to" +
" finish.");
process.WaitForExit(30000);
} catch (Exception ex) {