欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用C#修改Windows操作系統(tǒng)時間

 更新時間:2020年10月27日 11:02:25   作者:rainbow70626  
這篇文章主要介紹了利用C#修改Windows操作系統(tǒng)時間,幫助大家更好的利用c#操作系統(tǒng),感興趣的朋友可以了解下

  C#的System.DateTime類提供了對日期時間的封裝,用它進行時間的轉換和處理很方便,但是我沒有在其中找到任何可以用來修改系統(tǒng)時間的成員。用過VC、VB等的朋友可能知道,我們可以調(diào)用Win32 API SetLocalTime來改變系統(tǒng)時間,看來C#中也只能如此了。SetLocalTime需要一個SYSTEMTIME結構指針作為參數(shù),這倒不難,我們可以“比葫蘆畫瓢”很快在C#中定義這個結構,但問題是,我同時還想“享受”.NET Framework的System.DateTime在時間轉換和處理方面的便利,怎么辦?只有自己動手了,為我們的C#中的  SYSTEMTIME編寫成員函數(shù),實現(xiàn)和System.DateTime之間的互轉。請看下面的代碼:

  首先我為了以后調(diào)用方便,新建了一個C#類庫文件,在里面把SetLocalTime API放到一個名稱為Win32API的類中,并把這個類放到我自己定義的namespace中,避免名稱沖突。以后我還可以不斷向這個類和名稱空間添加常用的API,以便構造我自己的C# Win32 API函數(shù)庫。

{
  /// <summary>
  /// 
  /// </summary>
  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 wMilliseconds;
 
    /// <summary>
    /// 從System.DateTime轉換。
    /// </summary>
    /// <param name="time">System.DateTime類型的時間。</param>
    public void FromDateTime(DateTime time)
    {
      wYear = (ushort)time.Year;
      wMonth = (ushort)time.Month;
      wDayOfWeek = (ushort)time.DayOfWeek;
      wDay = (ushort)time.Day;
      wHour = (ushort)time.Hour;
      wMinute = (ushort)time.Minute;
      wSecond = (ushort)time.Second;
      wMilliseconds = (ushort)time.Millisecond;
    }
    /// <summary>
    /// 轉換為System.DateTime類型。
    /// </summary>
    /// <returns></returns>
    public DateTime ToDateTime()
    {
      return new DateTime(wYear, wMonth, wDay, wHour, wMinute, wSecond, wMilliseconds);
    }
    /// <summary>
    /// 靜態(tài)方法。轉換為System.DateTime類型。
    /// </summary>
    /// <param name="time">SYSTEMTIME類型的時間。</param>
    /// <returns></returns>
    public static DateTime ToDateTime(SYSTEMTIME time)
    {
      return time.ToDateTime();
    }
  }
 public class Win32API
  {
    [DllImport("Kernel32.dll")]
    public static extern bool SetLocalTime( ref SYSTEMTIME Time );
    [DllImport("Kernel32.dll")]
    public static extern void GetLocalTime(ref SYSTEMTIME Time);
  }
}

然后再需要的地方通過調(diào)用如下方法中間的核心代碼來實現(xiàn)修改Windows操作系統(tǒng)時間,例如,通過Button的Click事件實現(xiàn)修改Windows操作系統(tǒng)時間:

private void button1_Click(object sender, System.EventArgs e)
{
  //取得當前系統(tǒng)時間
  DateTime t = DateTime.Now;
  //在當前時間上加上一周
  t = t.AddDays(7);
  //轉換System.DateTime到SYSTEMTIME
  SYSTEMTIME st = new SYSTEMTIME();
  st.FromDateTime(t);
  //調(diào)用Win32 API設置系統(tǒng)時間
  Win32API.SetLocalTime(ref st);
  //顯示當前時間
  MessageBox.Show(DateTime.Now.ToString());
}

以上就是利用C#修改Windows操作系統(tǒng)時間的詳細內(nèi)容,更多關于c# 修改系統(tǒng)時間的資料請關注腳本之家其它相關文章!

相關文章

  • C#多線程及同步示例簡析

    C#多線程及同步示例簡析

    這篇文章主要為大家詳細介紹了C#多線程及同步示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • C#實現(xiàn)HTTP上傳文件的方法

    C#實現(xiàn)HTTP上傳文件的方法

    這篇文章主要介紹了C#實現(xiàn)HTTP上傳文件的方法,包括了發(fā)送文件與接收文件的實現(xiàn)代碼,具有不錯的參考價值,需要的朋友可以參考下
    2014-11-11
  • c# 實現(xiàn)打印機狀態(tài)查詢與阻塞打印

    c# 實現(xiàn)打印機狀態(tài)查詢與阻塞打印

    這篇文章主要介紹了c# 引用System.Management來實現(xiàn)對打印機狀態(tài)的查詢,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-05-05
  • 用C#在本地創(chuàng)建一個Windows帳戶(DOS命令)

    用C#在本地創(chuàng)建一個Windows帳戶(DOS命令)

    用C#在本地創(chuàng)建一個Windows帳戶(DOS命令)...
    2007-03-03
  • C#獲取USB事件API實例分析

    C#獲取USB事件API實例分析

    這篇文章主要介紹了C#獲取USB事件API,實例分析了C#操作USB事件的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-05-05
  • 淺析C# 裝箱和拆箱

    淺析C# 裝箱和拆箱

    這篇文章主要介紹了C# 裝箱和拆箱的相關資料,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • 分析C# Dictionary的實現(xiàn)原理

    分析C# Dictionary的實現(xiàn)原理

    對于C#中的Dictionary類相信大家都不陌生,這是一個Collection(集合)類型,可以通過Key/Value(鍵值對的形式來存放數(shù)據(jù);該類最大的優(yōu)點就是它查找元素的時間復雜度接近O(1)。那么什么樣的設計能使得Dictionary類實現(xiàn)O(1)的時間復雜度呢
    2021-06-06
  • C#對象為Null模式(Null Object Pattern)實例教程

    C#對象為Null模式(Null Object Pattern)實例教程

    這篇文章主要介紹了C#對象為Null模式(Null Object Pattern),以一個簡單實例深入分析了C#為Null情況下的處理方法,需要的朋友可以參考下
    2014-09-09
  • C# 通過NI-VISA操作Tektronix TBS 2000B系列示波器的實現(xiàn)步驟

    C# 通過NI-VISA操作Tektronix TBS 2000B系列示波器的實現(xiàn)步驟

    這篇文章主要介紹了C# 通過NI-VISA操作Tektronix TBS 2000B系列示波器的實現(xiàn)步驟,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-02-02
  • C# Quartzs定時器的使用教程

    C# Quartzs定時器的使用教程

    想到倒計時,定時任務,大家首先想到的肯定就是定時器,定時器在web和winfrom程序中也有著很大的作用。本文也將為大家介紹Quartzs定時器的簡單使用。需要的朋友可以參考一下
    2021-11-11

最新評論