Использование функции SetSystemTime
Для C/C++:
«`c++
#include
int main() {
SYSTEMTIME st;
// Установите дату и время
st.wYear = 2023;
st.wMonth = 1; // Январь
st.wDay = 1;
st.wHour = 12;
st.wMinute = 0;
st.wSecond = 0;
st.wMilliseconds = 0;
BOOL success = SetSystemTime(&st);
if (!success) {
// Ошибка установки времени системы
}
return 0;
}
«`
Для C#:
«`csharp
using System;
using System.Runtime.InteropServices;
class Program {
[DllImport(«kernel32.dll»)]
static extern bool SetSystemTime([In] ref SYSTEMTIME lpSystemTime);
struct SYSTEMTIME {
public short wYear;
public short wMonth;
public short wDayOfWeek;
public short wDay;
public short wHour;
public short wMinute;
public short wSecond;
public short wMilliseconds;
}
public static void Main() {
SYSTEMTIME st = new SYSTEMTIME();
// Установите дату и время
st.wYear = 2023;
st.wMonth = 1; // Январь
st.wDay = 1;
st.wHour = 12;
st.wMinute = 0;
st.wSecond = 0;
st.wMilliseconds = 0;
bool success = SetSystemTime(ref st);
if (!success) {
// Ошибка установки времени системы
}
}
}
«`
Для Python:
«`python
import ctypes
# Установите дату и время
year = 2023
month = 1 # Январь
day = 1
hour = 12
minute = 0
second = 0
# Получите указатель на структуру SYSTEMTIME
st = ctypes.wintypes.SYSTEMTIME()
# Установите поля структуры
st.wYear = year
st.wMonth = month
st.wDay = day
st.wHour = hour
st.wMinute = minute
st.wSecond = second
st.wMilliseconds = 0
# Установите системное время
ctypes.windll.kernel32.SetSystemTime(ctypes.byref(st))
«`
Примечание:
Для выполнения этой операции требуются привилегии администратора.
Эта функция изменяет системное время, которое используется всеми программами.