ustawienie daty zegara systemowego

0

Hej!

wie ktoś może jak ustawić datę i czas zegara systemowego? z poziomu kodu, bez wywoływania konsoli?
z góry dzięki!

BL

0

Sam .Net nie udostępnia takiej możliwości. Można to oczywiście obejść importując do swojego programu odpowiednie funkcje z WinApi.

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace ChangeTimeExamples
{
    class DateChange
    {
        [StructLayout(LayoutKind.Sequential)]
        public struct SYSTEMTIME
        {
            public short wYear;
            public short wMonth;
            public short wDayOfWeek;
            public short wDay;
            public short wHour;
            public short wMinute;
            public short wSecond;
            public short wMilliseconds;
        }

        [DllImport("kernel32.dll", SetLastError = true)]
        public static extern bool SetLocalTime(ref SYSTEMTIME st);

        [DllImport("kernel32.dll", SetLastError = true)]
        public static extern void GetLocalTime(ref SYSTEMTIME st);

        static void Main()
        {
            SYSTEMTIME ourDate = new SYSTEMTIME();
            GetLocalTime(ref ourDate);
            Console.WriteLine("{0}:{1}:{2}", ourDate.wHour, ourDate.wMinute, ourDate.wSecond);
            ourDate.wHour = 13;
            ourDate.wMinute = 10;
            ourDate.wSecond = 34;
            //ustawienie daty
            SetLocalTime(ref ourDate))
            Console.ReadLine();            
        }
    }
}
0

Dzięki wielkie!

1 użytkowników online, w tym zalogowanych: 0, gości: 1