新增设置Windows系统时间相关方法

This commit is contained in:
falcon 2022-06-09 09:21:32 +08:00
parent 189ed541c9
commit 6430a50bdf
2 changed files with 47 additions and 0 deletions

View File

@ -0,0 +1 @@
封装一些Windows操作系统相关操作

View File

@ -0,0 +1,46 @@
using System;
using System.Runtime.InteropServices;
namespace Falcon.SugarApi.WindowsSystem
{
/// <summary>
/// Windows系统时间
/// </summary>
public static class WindowsSystemTime
{
[StructLayout(LayoutKind.Sequential)]
private 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")]
private static extern bool SetLocalTime(ref Systemtime time);
/// <summary>
/// 设置Windows系统时间。应用程序必须以管理员身份运行否则无法设置
/// </summary>
/// <param name="dt">需要设置的时间</param>
/// <returns>返回系统时间设置状态true为成功false为失败</returns>
public static bool SetLocalDateTime(DateTime dt) {
Systemtime st;
st.year = (short)dt.Year;
st.month = (short)dt.Month;
st.dayOfWeek = (short)dt.DayOfWeek;
st.day = (short)dt.Day;
st.hour = (short)dt.Hour;
st.minute = (short)dt.Minute;
st.second = (short)dt.Second;
st.milliseconds = (short)dt.Millisecond;
bool rt = SetLocalTime(ref st);
return rt;
}
}
}