Re: [問題] 改變系統時間
看板C_Sharp (C#)作者horngsh (dotNetProgrammer)時間19年前 (2006/08/21 07:46)推噓0(0推 0噓 0→)留言0則, 0人參與討論串2/2 (看更多)
※ 引述《czhon (czhon)》之銘言:
: 想請問各位大大
: C#有沒有function
: 可以根據使用者輸入
: 改變系統的時間
: 謝謝..
借花獻佛一下:
using System;
using System.Runtime.InteropServices;
namespace SystemDateTime
{
class Class1
{ /// <summary> This structure represents a date and time. </summary>
public struct SYSTEMTIME
{ public ushort wYear,wMonth,wDayOfWeek,wDay,
wHour,wMinute,wSecond,wMilliseconds;
}
/// <summary>
/// This function retrieves the current system date
/// and time expressed in Coordinated Universal Time (UTC).
/// </summary>
/// <param name="lpSystemTime">[out] Pointer to a SYSTEMTIME
structure to
/// receive the current system date and time.</param>
[DllImport("kernel32.dll")]
public extern static void GetSystemTime(ref SYSTEMTIME lpSystemTime);
/// <summary>
/// This function sets the current system date
/// and time expressed in Coordinated Universal Time (UTC).
/// </summary>
/// <param name="lpSystemTime">[in] Pointer to a SYSTEMTIME structure
that
/// contains the current system date and time.</param>
[DllImport("kernel32.dll")]
public extern static uint SetSystemTime(ref SYSTEMTIME lpSystemTime);
static void Main()
{ Console.WriteLine(DateTime.Now.ToString());
SYSTEMTIME st = new SYSTEMTIME();
GetSystemTime(ref st);
Console.WriteLine("Adding 1 hour...");
st.wHour = (ushort)(st.wHour + 1 % 24);
if (SetSystemTime(ref st) == 0)
Console.WriteLine("FAILURE: SetSystemTime failed");
Console.WriteLine(DateTime.Now.ToString());
Console.WriteLine("Setting time back...");
st.wHour = (ushort)(st.wHour - 1 % 24);
SetSystemTime(ref st);
Console.WriteLine(DateTime.Now.ToString());
Console.WriteLine("Press Enter to exit");
Console.Read();
}
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.131.136.79
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章