C#更改系統(tǒng)時間
第一種方法:就是調(diào)用系統(tǒng)API函數(shù)更改系統(tǒng)時間
[StructLayout(LayoutKind.Sequential)]
public struct SystemTime
{
public ushort wYear;
public ushort wMonth;
public ushort wDayOfWeek;
public ushort wDay;
public ushort wHour;
public ushort wMinute;
public ushort wSecond;
public ushort wMiliseconds;
}
public class SetSystemDateTime
{
[DllImport("Kernel32.dll")]
public static extern bool SetLocalTime(ref SystemTime sysTime);
public static bool SetLocalTimeByStr(string timestr)
{
bool flag = false;
SystemTime sysTime = new SystemTime();
DateTime dt = Convert.ToDateTime(timestr);
sysTime.wYear = Convert.ToUInt16(dt.Year);
sysTime.wMonth = Convert.ToUInt16(dt.Month);
sysTime.wDay = Convert.ToUInt16(dt.Day);
sysTime.wHour = Convert.ToUInt16(dt.Hour);
sysTime.wMinute = Convert.ToUInt16(dt.Minute);
sysTime.wSecond = Convert.ToUInt16(dt.Second);
try
{
flag = SetSystemDateTime.SetLocalTime(ref sysTime);
}
catch (Exception e)
{
Console.WriteLine("SetSystemDateTime函數(shù)執(zhí)行異常" + e.Message);
}
return flag;
}
}
第二種方法:就是利用Process類調(diào)用DOC命令更改系統(tǒng)時間
//實例一個Process類,啟動一個獨立進程
Process p = new Process();
//Process類有一個StartInfo屬性
//設(shè)定程序名
p.StartInfo.FileName = "cmd.exe";
//設(shè)定程式執(zhí)行參數(shù) “/C”表示執(zhí)行完命令后馬上退出
p.StartInfo.Arguments = "/c date 2020-2-20";
//關(guān)閉Shell的使用
p.StartInfo.UseShellExecute = false;
//重定向標準輸入
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
//重定向錯誤輸出
p.StartInfo.RedirectStandardError = true;
//設(shè)置不顯示doc窗口
p.StartInfo.CreateNoWindow = true;
//啟動
p.Start();
//從輸出流取得命令執(zhí)行結(jié)果
return p.StandardOutput.ReadToEnd();
更多的關(guān)于Process類的操作,可以參考
http://msdn.microsoft.com/zh-cn/library/system.diagnostics.process_members(VS.80).aspx

浙公網(wǎng)安備 33010602011771號