CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 151

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) {