2009-08-06 14 views

Trả lời

6

Có một số Task Scheduler API mà bạn có thể sử dụng để truy cập thông tin về các tác vụ. (Đây là một thư viện com, nhưng bạn có thể gọi nó từ C# bằng cách sử dụng pinvokes)

Có một article on codeproject cung cấp trình bao bọc .net cho API.

[Ngoài ra còn có các lệnh schtasks-more info]

+0

kiểm tra xem trình bao bọc mãProject. Nó hoạt động tuyệt vời. Tôi thực sự ngạc nhiên khi không có đối tượng scheduleTask trong khung .net! – KevinDeus

1

btw, IRT giải pháp chấp nhận của tôi, đây là mã wrapper CodeProject (xem http://www.codeproject.com/KB/cs/tsnewlib.aspx) cần thiết để xác minh rằng một scheduledTask tồn tại

tôi sử dụng này trong một thử nghiệm tích hợp nên Khẳng định là NUnit ..

public static void VerifyTask(string server, string scheduledTaskToFind) 
{ 
    ScheduledTasks st = new ScheduledTasks(server); 

    string[] taskNames = st.GetTaskNames(); 
    List<string> jobs = new List<string>(taskNames); 

    Assert.IsTrue(jobs.Contains(scheduledTaskToFind), "unable to find " + scheduledTaskToFind); 

    st.Dispose(); 
} 

để kiểm tra nếu nó được kích hoạt, bạn có thể làm như sau:

01.
Task task = st.OpenTask(scheduledTaskToFind); 
Assert.IsTrue(task.Status != TaskStatus.Disabled); 
Các vấn đề liên quan