測試時可能就需要改變系統時間來確定程式是否有問題。
-參考範例-------------------
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace ConsoleApp_ChangeSysTime { class Program { static void Main(string[] args) { int x = 0; do { Console.WriteLine("請輸入要增加的小時數:"); } while (!Int32.TryParse(Console.ReadLine(), out x)); Console.WriteLine("你輸入的小時為:{0}", x); SetTime(x); Console.WriteLine("現在時間為:"); GetTime(); Console.WriteLine("End--------------"); Console.ReadLine(); } [DllImport("Kernel32.dll")] private extern static void GetSystemTime(ref SYSTEMTIME lpSystemTime); [DllImport("Kernel32.dll")] private extern static uint SetSystemTime(ref SYSTEMTIME lpSystemTime); private 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 wMilliseconds; } static void GetTime() { // Call the native GetSystemTime method // with the defined structure. SYSTEMTIME stime = new SYSTEMTIME(); GetSystemTime(ref stime); // Show the current time. Console.WriteLine("Current Time: " + stime.wHour.ToString() + ":" + stime.wMinute.ToString()); } static void SetTime(int i) { // Call the native GetSystemTime method // with the defined structure. SYSTEMTIME systime = new SYSTEMTIME(); GetSystemTime(ref systime); // Set the system clock ahead one hour. systime.wHour = (ushort)(systime.wHour + i % 24); SetSystemTime(ref systime); Console.WriteLine("New time: " + systime.wHour.ToString() + ":" + systime.wMinute.ToString()); } } }
沒有留言:
張貼留言