C# 修改系統時間

/// <summary>
    /// 同步服務時間
    /// </summary>
    public class SyncServerTime
    {
        //設置系統時間的API函數
        [DllImport("kernel32.dll")]
        private static extern bool SetLocalTime(ref SYSTEMTIME time);

        [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;
        }

        /// <summary>
        /// 設置系統時間
        /// </summary>
        /// <param name="dt">須要設置的時間</param>
        /// <returns>返回系統時間設置狀態,true爲成功,false爲失敗</returns>
        public static bool SetDate(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;
        }
    }

運行中發現老是返回false。 
通過研究發現原來時個人程序運行在win8系統上須要管理員權限,而後程序做以下配置便可: 函數

 
這裏寫圖片描述 
這裏寫圖片描述 
這裏寫圖片描述 
這裏寫圖片描述

相關文章
相關標籤/搜索