Будь осторожен !.
Если вы удаляете неиспользуемое свойство из структуры, оно устанавливает неправильное время. Я потерял 1 день из-за этого. Я думаю, что порядок структуры важен.
Это правильная структура:
public struct SystemTime
{
public ushort Year;
public ushort Month;
public ushort DayOfWeek;
public ushort Day;
public ushort Hour;
public ushort Minute;
public ushort Second;
public ushort Millisecond;
};
Если вы запускаете SetSystemTime (), он работает как положено.
Для теста я установил время, как показано ниже;
SystemTime st = new SystemTime();
st.Year = 2019;
st.Month = 10;
st.Day = 15;
st.Hour = 10;
st.Minute = 20;
st.Second = 30;
SetSystemTime(ref st);
Установлено время: 15.10.2019 10:20, все нормально.
Но я удаляю свойство DayOfWeek, которое не используется;
public struct SystemTime
{
public ushort Year;
public ushort Month;
public ushort Day;
public ushort Hour;
public ushort Minute;
public ushort Second;
public ushort Millisecond;
};
SystemTime st = new SystemTime();
st.Year = 2019;
st.Month = 10;
st.Day = 15;
st.Hour = 10;
st.Minute = 20;
st.Second = 30;
SetSystemTime(ref st);
Выполнить тот же код, но время установить на: 10.10.2019 20: 30
Пожалуйста, будьте внимательны при заказе и все поля структуры SystemTime.
Юсуф