最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

  首先我為了以后調(diào)用方便,新建了一個(gè)C#類庫文件,在里面把SetLocalTime API放到一個(gè)名稱為Win32API的類中,并把這個(gè)類放到我自己定義的namespace中,避免名稱沖突。以后我還可以不斷向這個(gè)類和名稱空間添加常用的API,以便構(gòu)造我自己的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轉(zhuǎn)換。
    /// </summary>
    /// <param name="time">System.DateTime類型的時(shí)間。</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>
    /// 轉(zhuǎn)換為System.DateTime類型。
    /// </summary>
    /// <returns></returns>
    public DateTime ToDateTime()
    {
      return new DateTime(wYear, wMonth, wDay, wHour, wMinute, wSecond, wMilliseconds);
    }
    /// <summary>
    /// 靜態(tài)方法。轉(zhuǎn)換為System.DateTime類型。
    /// </summary>
    /// <param name="time">SYSTEMTIME類型的時(shí)間。</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)用如下方法中間的核心代碼來實(shí)現(xiàn)修改Windows操作系統(tǒng)時(shí)間,例如,通過Button的Click事件實(shí)現(xiàn)修改Windows操作系統(tǒng)時(shí)間:

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

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

相關(guān)文章

  • winfrom 在業(yè)務(wù)層實(shí)現(xiàn)事務(wù)控制的小例子

    winfrom 在業(yè)務(wù)層實(shí)現(xiàn)事務(wù)控制的小例子

    winfrom 在業(yè)務(wù)層實(shí)現(xiàn)事務(wù)控制的小例子,需要的朋友可以參考一下
    2013-03-03
  • C#實(shí)現(xiàn)學(xué)生模塊的增刪改查

    C#實(shí)現(xiàn)學(xué)生模塊的增刪改查

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)學(xué)生模塊的增刪改查,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C#利用異步委托實(shí)現(xiàn)獲取線程返回值

    C#利用異步委托實(shí)現(xiàn)獲取線程返回值

    一般來說,異步委托主要用于解決 ThreadPool.QueueUserWorkItem 沒有提供獲取線程執(zhí)行完成后的返回值問題,下面我們就來學(xué)習(xí)一下C#如何利用異步委托實(shí)現(xiàn)獲取線程返回值吧
    2023-12-12
  • c#讀取excel數(shù)據(jù)的兩種方法實(shí)現(xiàn)

    c#讀取excel數(shù)據(jù)的兩種方法實(shí)現(xiàn)

    這篇文章主要介紹了c#讀取excel數(shù)據(jù)的兩種方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 基于StreamRead和StreamWriter的使用(實(shí)例講解)

    基于StreamRead和StreamWriter的使用(實(shí)例講解)

    下面小編就為大家分享一篇基于StreamRead和StreamWriter的使用實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • C#重寫DataGridView

    C#重寫DataGridView

    這篇文章主要為大家詳細(xì)介紹了C#重寫DataGridView的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-05-05
  • C#處理Access中事務(wù)的方法

    C#處理Access中事務(wù)的方法

    這篇文章主要介紹了C#處理Access中事務(wù)的方法,涉及C#中事物的實(shí)現(xiàn)及使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • C# 使用SDL2實(shí)現(xiàn)Mp4文件播放音視頻操作

    C# 使用SDL2實(shí)現(xiàn)Mp4文件播放音視頻操作

    這篇文章主要介紹了C# 使用SDL2實(shí)現(xiàn)Mp4文件播放音視頻操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • C#灰度化圖像的實(shí)例代碼

    C#灰度化圖像的實(shí)例代碼

    灰度化一幅圖像就是將圖像的色彩信息全部丟掉,將24位的位圖信息,用8位來表示,灰度圖共有256級(jí)灰度等級(jí),也就是將24位位圖的一點(diǎn)如(255,255,255)轉(zhuǎn)換成255,所以R,G,B三個(gè)值所乘的系數(shù)和為1
    2013-09-09
  • c# richtextbox更新大量數(shù)據(jù)不卡死的實(shí)現(xiàn)方式

    c# richtextbox更新大量數(shù)據(jù)不卡死的實(shí)現(xiàn)方式

    這篇文章主要介紹了c# richtextbox更新大量數(shù)據(jù)不卡死的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04

最新評(píng)論

泗洪县| 安化县| 牟定县| 宜都市| 遂川县| 金湖县| 邻水| 上思县| 修水县| 房山区| 香港 | 安龙县| 偏关县| 宿州市| 延川县| 南开区| 蓬溪县| 泾川县| 周口市| 绵阳市| 宣威市| 观塘区| 嵩明县| 新巴尔虎右旗| 灵璧县| 泸溪县| 达尔| 丹江口市| 白朗县| 潞西市| 扎囊县| 厦门市| 竹山县| 长兴县| 德安县| 葫芦岛市| 庆安县| 延庆县| 萨迦县| 桂平市| 北海市|