Jaki jest najlepszy sposób ustawienia czasu maszyny w języku C#?Ustaw czas maszyny C#
5
A
Odpowiedz
7
Prawdopodobnie będziesz musiał użyć Win32 API, aby to zrobić, ponieważ jestem dość pewny nic pieczony w ramy:
[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 SetSystemTime(ref SYSTEMTIME theDateTime);
Jest pełniejsza przykład w PInvoke.net kod trochę gęsty , ale prosty fragment to dość proste do odczytania i zrozumienia jest to:
SYSTEMTIME st = new SYSTEMTIME();
GetSystemTime(ref st);
// Adds one hour to the time that was retrieved from GetSystemTime
st.wHour = (ushort)(st.wHour + 1 % 24);
var result = SetSystemTime(ref st);
if (result == false)
{
// Something went wrong
}
else
{
// The time will now be 1hr later than it was previously
}
odpowiednie specyficzne Win32 API są SetSystemTime, GetSystemTime i strukturę SYSTEMTIME.
1
Microsoft.VisualBasic.DateAndTime.TimeOfDay = dateTime;
Dodaj odwołanie z Microsoft.VisualBasic do projekcji Proszę dać mi znać, jeśli każdej kwestii
DUP? http://stackoverflow.com/questions/204936/set-time-programmatically-using-c – kenny
@kenny: Nie sądzę, że ... chodzi o zdalne maszyny. –
Ten komentarz nie jest dokładnym duplikatem, ponieważ pyta, jak to zrobić na zdalnym komputerze. –