2010-06-23 56 views
9

Mặc dù tiêu đề chủ đề giải thích hầu hết các câu hỏi, tôi muốn phác họa kịch bản để bạn hiểu được bối cảnh của câu hỏi này.Có sử dụng GetProcessesByName hay nhất để kiểm tra xem một tiến trình đang chạy không?

Tôi có một ứng dụng giống như danh sách liên hệ Outlook. Nó nhận tất cả các liên hệ từ Outlook và kết quả là chúng được hiển thị trong chế độ xem lưới dữ liệu. Bây giờ, thay vì bắt đầu Outlook mỗi khi ứng dụng của tôi mở và tắt nó, tôi muốn nó không mở khi nó đã được mở và vẫn mở khi ứng dụng của tôi tắt và người dùng đã có Outlook đang chạy. Đây là cách sử dụng của tôi:

Process[] pName = Process.GetProcessesByName("OUTLOOK"); 
if (pName.Length == 0) 
{ 
    MessageBox.Show("Outlook is not running."); // Open Outlook anew. 
} 
else 
{ 
    MessageBox.Show("Outlook is running."); // Do not re-open Outlook. 
} 

Đây có phải là cách tốt nhất và an toàn nhất để thực hiện? Cảm ơn bạn trước.

Trả lời

5

Có. Tôi có thể nghĩ không có cách nào tốt hơn.

Các vấn đề liên quan