次のC#コードを使用してシステムの日付と時刻を変更しようとしています。しかし、結果はsystemdateに変化がない(エラーもスローされません)。私もコードのコメント部分のコメントを外してみました。しかし効果はありません。 :( その後、私はコマンドプロンプトから時間を変更しようとしました。(C#を使用していない)それから、「クライアントが必要な権限を保持していません」と表示されました。それ私の状況をより明確にする。datetimepeakerを使用してプログラマティックにシステム時間を変更してください
[StructLayout(LayoutKind.Sequential)]
public struct Systemtime
{
public ushort Year;
public ushort Month;
public ushort DayOfWeek;
public ushort Day;
public ushort Hour;
public ushort Minute;
public ushort Second;
public ushort Millisecond;
}
/*
[DllImport("kernel32.dll", EntryPoint = "GetSystemTime", SetLastError = true)]
[return: MarshalAsAttribute(UnmanagedType.Bool)]
public static extern bool Win32GetSystemTime([InAttribute]ref Systemtime sysTime);
*/
[DllImport("kernel32.dll", EntryPoint = "SetSystemTime", SetLastError = true)]
[return: MarshalAsAttribute(UnmanagedType.Bool)]
public static extern bool Win32SetSystemTime([InAttribute]ref Systemtime sysTime);
private void DateTimeSelectedButton_Click(object sender, EventArgs e)
{
//var neededtime = MonthChangePhenomenonDateTimePicker.Value - TimeSpan.FromHours(5)-TimeSpan.FromMinutes(30);
// Set system date and time
Systemtime updatedTime = new Systemtime();
updatedTime.Year = (ushort)MonthChangePhenomenonDateTimePicker.Value.Year;
updatedTime.Month = (ushort)MonthChangePhenomenonDateTimePicker.Value.Month;
updatedTime.Day = (ushort)MonthChangePhenomenonDateTimePicker.Value.Day;
// UTC time; it will be modified according to the regional settings of the target computer so the actual hour might differ
updatedTime.Hour = (ushort)MonthChangePhenomenonDateTimePicker.Value.Hour;
updatedTime.Minute = (ushort)MonthChangePhenomenonDateTimePicker.Value.Minute;
updatedTime.Second = (ushort)MonthChangePhenomenonDateTimePicker.Value.Second;
// Call the unmanaged function that sets the new date and time instantly
Win32SetSystemTime(ref updatedTime);
MessageBox.Show(@"You Have Current System Time: " + updatedTime);
}
私が間違って何が起こっているかを知るのに役立ちます。事前に感謝します。:)
Win32SetSystemTimeをSetSystemTimeに変更してから、試してください。 –
ちょうど@vivek nunaを試してみましたが効果はありません:( –
あなたのコードを管理者として実行してみてください –