我是C#的新手,我正在C#.net windows应用程序中开发项目,因为我需要从我的日程文件中读取下一个日程安排时间,如果没有下一个小时的日程安排,我的系统不需要唤醒直到计划文件中定义的下一个计划时间到达。我的系统需要关闭,在关机之前需要设置系统唤醒的定时器。如何在关机之前按时设置系统。
我在Linux系统中通过python脚本在/sys/class/rtc/rtc0/wakealaram
位置按时编写系统来做同样的事情。我只是在这个位置按时编写下一个系统并关闭系统,系统可以通过达到wakealaram
文件中给出的时间自动打开。我需要在Windows系统中使用C#进行相同的操作。
答案 0 :(得分:0)
看看下面的内容。
#region Clock Reset
[StructLayout(LayoutKind.Sequential)]
public struct SYSTEMTIME
{
public short Year;
public short Month;
public short DayOfWeek;
public short Day;
public short Hour;
public short Minute;
public short Second;
public short Milliseconds;
}
[DllImport("kernel32.dll")]
public extern static uint SetSystemTime(ref SYSTEMTIME lpSystemTime);
private void ResetSystemTime(DateTime tdt)
{
try
{
SYSTEMTIME time = new SYSTEMTIME();
time.Day = (short)tdt.Day;
time.Month = (short)tdt.Month;
time.Year = (short)tdt.Year;
time.Hour = (short)tdt.Hour;
time.Minute = (short)tdt.Minute;
time.Second = (short)tdt.Second;
SetSystemTime(ref time);
}
catch (Exception ex)
{
MessageBox.Show("System time reset Exception: " + ex.Message);
}
}
#endregion