WMIイベントの監視を調べてみてください。曜日の変更(つまり、ManagementEventWatcherなど)を監視するWqlイベントクエリを作成し、イベントが到着したときに起動するイベントハンドラーを設定できるはずです。
システムを使用する;
System.Managementを使用します。
クラスプログラム
{{
public static void Main()
{{
WqlEventQuery q = new WqlEventQuery();
q.EventClassName = "__InstanceModificationEvent";
q.Condition = @ "TargetInstance ISA'Win32_LocalTime' AND TargetInstance.Hour = 22 AND TargetInstance.Minute = 7 AND TargetInstance.Second = 59";
Console.WriteLine(q.QueryString);
using(ManagementEventWatcher w = new ManagementEventWatcher(q))
{{
w.EventArrived + = new EventArrivedEventHandler(TimeEventArrived);
w.Start();
Console.ReadLine(); //テスト目的でのみこのスレッドをブロックします...。
w.Stop();
}
}
static void TimeEventArrived(オブジェクト送信者、EventArrivedEventArgs e)
{{
Console.WriteLine( "これはウェイクアップコールです");
Console.WriteLine( "{0}"、new
DateTime((long)(ulong)e.NewEvent.Properties ["TIME_CREATED"]。Value));
}
}