Tôi không thực sự viết một ứng dụng đồng hồ báo thức, nhưng nó sẽ giúp minh họa cho câu hỏi của tôi.Ứng dụng đồng hồ báo thức trong .Net
Giả sử tôi có phương pháp trong đơn đăng ký của mình và tôi muốn phương thức này được gọi mỗi giờ một giờ (ví dụ: lúc 7:00 tối, 8:00 tối, 9:00 tối, v.v ...). Tôi có thể tạo Bộ hẹn giờ và đặt Khoảng thời gian là 3600000, nhưng cuối cùng điều này sẽ không đồng bộ với đồng hồ hệ thống. Hoặc tôi có thể sử dụng một vòng lặp while()
với Thread.Sleep(n)
kiểm tra định kỳ thời gian hệ thống và gọi phương thức khi thời gian mong muốn đạt được, nhưng tôi không thích điều này một trong hai (Thread.Sleep(n)
là một mùi code lớn đối với tôi).
Điều tôi đang tìm là phương thức trong .Net cho phép tôi chuyển đối tượng DateTime trong tương lai và phương thức xử lý sự kiện hoặc đại biểu, nhưng tôi không thể tìm thấy bất kỳ thứ gì như vậy. Tôi nghi ngờ có một phương pháp trong API Win32 làm điều này, nhưng tôi đã không thể tìm thấy điều đó, một trong hai.
Bạn đang muốn cuộn Quartz.Net của riêng mình? http://quartznet.sourceforge.net/ –
@Austin: không, tôi chỉ đang tìm một phương pháp đơn giản như những gì tôi mô tả trong đoạn cuối, mà không cần phải cuộn của riêng tôi hoặc sử dụng một số thành phần của bên thứ ba. – MusiGenesis
Trình xây dựng trong Windows Scheduler có API có thể truy cập thông qua PInvoke http://www.pinvoke.net/default.aspx/netapi32/NetScheduleJobAdd.html – xcud