46 lines
1.4 KiB
C#
46 lines
1.4 KiB
C#
using System.Runtime.InteropServices;
|
||
|
||
namespace Falcon.SugarApi.Windows
|
||
{
|
||
/// <summary>
|
||
/// 系统类
|
||
/// </summary>
|
||
public partial class System
|
||
{
|
||
[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;
|
||
}
|
||
|
||
}
|
||
} |