c#利用WindowAPI函數修改電腦日期時間和格式,程式碼片段如下,有需要的朋友拿去吧。
| 代碼如下 |
複製代碼 |
Public Class SetComputerDateTime
{
[DllImport("kernel32.dll", EntryPoint = "GetSystemDefaultLCID")] public static extern int GetSystemDefaultLCID();
[DllImport("kernel32.dll", EntryPoint = "SetLocaleInfoA")] public static extern int SetLocaleInfo(int Locale, int LCType, string lpLCData);
public const int LOCALE_SLONGDATE = 0x20; public const int LOCALE_SSHORTDATE = 0x1F; public const int LOCALE_STIME = 0x1E;
[DllImportAttribute("Kernel32.dll")] public static extern void SetLocalTime(SystemTime st);
public ushort wYear;
public ushort wMonth;
public ushort wDayOfWeek; public ushort wDay; public ushort wHour; public ushort wMinute; public ushort wSecond; public ushort wMilliseconds;
public SetComputerDateTimeFormat()
{
}
public void SetDateTimeFormat()
{
try { int x = GetSystemDefaultLCID(); SetLocaleInfo(x, LOCALE_SSHORTDATE, "yyyy/MM/dd"); //短日期格式 SetLocaleInfo(x, LOCALE_SLONGDATE, "yyyy年MM月dd日"); //長日期格式 SetLocaleInfo(x, LOCALE_STIME, "HH:mm:ss tt"); //時間格式 } catch (Exception ex)
{
Console.WriteLine(ex); }
}
public void SetDateTime(DateTime dateTime)
{
try { SystemTime mySystemTime = new SystemTime(); mySystemTime .wYear = (ushort)systemDateTime.Year;//年 mySystemTime .wMonth = (ushort)systemDateTime.Month;//月 mySystemTime .wDay = (ushort)systemDateTime.Day;//日 mySystemTime .wHour = (ushort)systemDateTime.Hour;//時 mySystemTime .wMinute = (ushort)systemDateTime.Minute;//分 mySystemTime .wSecond = (ushort)systemDateTime.Second;//秒 SetLocalTime(mySystemTime ); } catch (Exception ex) { Console.WriteLine(ex); }
}
}
[StructLayoutAttribute(LayoutKind.Sequential)] public class SystemTime { public ushort wYear; public ushort wMonth; public ushort wDayOfWeek; public ushort wDay; public ushort wHour; public ushort wMinute; public ushort wSecond; public ushort wMilliseconds; }
|