2012-04-18 6 views

Trả lời

3

Câu trả lời dễ dàng cho điều đó sẽ là: không. Điều tốt nhất bạn có thể làm là truy cập một cách có lập trình thư viện lịch trình nhiệm vụ và xem liệu quá trình bạn đang ở chế độ "đang chạy", nhận được PID của quá trình (lập lịch thực sự viết nó trong lịch sử của nó) và so sánh nó cho bạn.

Điều dễ dàng hơn là truy cập vào nhật ký sự kiện hệ thống và xem có đề cập đến việc thực thi tệp exe của bạn hay không (mặc dù chúng có thể không phải là nhật ký nếu exe thực sự được thực thi).

Điều duy nhất bạn có thể liên kết với quy trình của bạn là người gọi (có thể là DỊCH VỤ MẠNG hoặc một số tài khoản được xác định trước) mà không cung cấp bất kỳ thông tin nào về việc được lên lịch.

0

Tôi đã thử một lúc để giải quyết vấn đề tương tự này, tuy nhiên tôi không nghĩ rằng có thể sử dụng API hiện tại. Nếu bạn có một tham chiếu đến tác vụ đang chạy, bạn có thể lấy PID của công cụ tác vụ đã khởi động nó. Từ đó, bạn có thể để truy cập nhật ký sự kiện và tra cứu các sự kiện mới nhất với ID 200 (Action Started) có cùng một PID động cơ, tuy nhiên vì bạn có thể có nhiều quy trình tác vụ chạy bên dưới một công cụ tác vụ duy nhất, bạn có thể không đi xa hơn với sự chắc chắn tuyệt đối (ví dụ, một ví dụ thứ hai của quy trình của bạn có thể chạy dưới cùng một bộ PID động cơ - bạn sẽ không thể biết ID tương quan nào thuộc về quá trình đích của bạn.)