プログラムによるBIOSの時刻設定の変更方法は?このコードは、C#Window Formsアプリケーションに組み込まれ、BIOS設定が常にUTC時間になるようにします。 Win32_UTCTimeを使用してWMIに解決策を見つけることには成功しましたが、失敗しました。プログラムによるBIOSの時刻設定の変更方法は?
0
A
答えて
0
BIOSクロックを変更/操作する前にread this article。これは、Windowsがローカル時刻を追跡する時計に依存している理由を説明します。だからあなたはそれを変えないようにしたいかもしれない。あなたは、プログラムの任意の通常の手段で... BIOSの時間を変更することはできません実際の変化see this example from on PInvoke.NET
class Class1
{
/// <summary> This structure represents a date and time. </summary>
public struct SYSTEMTIME
{ public ushort wYear,wMonth,wDayOfWeek,wDay,
wHour,wMinute,wSecond,wMilliseconds;
}
/// <summary>
/// This function retrieves the current system date
/// and time expressed in Coordinated Universal Time (UTC).
/// </summary>
/// <param name="lpSystemTime">[out] Pointer to a SYSTEMTIME structure to
/// receive the current system date and time.</param>
[DllImport("kernel32.dll")]
public extern static void GetSystemTime(ref SYSTEMTIME lpSystemTime);
/// <summary>
/// This function sets the current system date
/// and time expressed in Coordinated Universal Time (UTC).
/// </summary>
/// <param name="lpSystemTime">[in] Pointer to a SYSTEMTIME structure that
/// contains the current system date and time.</param>
[DllImport("kernel32.dll")]
public extern static uint SetSystemTime(ref SYSTEMTIME lpSystemTime);
static void Main()
{ Console.WriteLine(DateTime.Now.ToString());
SYSTEMTIME st = new SYSTEMTIME();
GetSystemTime(ref st);
Console.WriteLine("Adding 1 hour...");
st.wHour = (ushort)(st.wHour + 1 % 24);
if (SetSystemTime(ref st) == 0)
Console.WriteLine("FAILURE: SetSystemTime failed");
Console.WriteLine(DateTime.Now.ToString());
Console.WriteLine("Setting time back...");
st.wHour = (ushort)(st.wHour - 1 % 24);
SetSystemTime(ref st);
Console.WriteLine(DateTime.Now.ToString());
Console.WriteLine("Press Enter to exit");
Console.Read();
}
}
0
を行うには
。
BIOSは、オペレーティングシステムとは独立したEEPROMに格納されています。それと対話する唯一の方法は、ハードウェアに直接書き込む直接的なプログラムによるものです。さまざまなAPIはこれを行う方法を提供しません。
関連する問題
- 1. にはBIOSオプションをプログラム的に設定する方法があります
- 2. 仮想マシンのBIOSの日付と時刻を変更してください
- 3. UIDatePickerのAM時刻のみを設定する方法は?
- 4. 時間ピッカーダイアログから時刻を設定する方法は?
- 5. 日付時刻の値を設定する方法は?
- 6. DDMS内からエミュレータの時刻を設定する方法は?
- 7. postgresqlで特定の時刻を設定する方法
- 8. 現在の時刻を値に設定する方法
- 9. アラームの時刻をカレンダーに設定する方法
- 10. C#のUSB-HDDへのBIOSブートオプションの変更方法は?
- 11. 特定の時刻に日付を変更するには
- 12. 速報の設定方法特定時刻の通知
- 13. プログラムのローカル設定マネージャを変更する方法
- 14. groovy開始時刻と終了時刻を設定する方法
- 15. 設定時刻にスプライトをウィンドウに表示する方法
- 16. linuxのcプログラムからの時刻の設定
- 17. 日付と時刻を書式設定する方法は?
- 18. bashで時刻を正しく設定する方法は?
- 19. アンドロイドアプリに設定した特定の時刻に通知する方法
- 20. ファイルの変更時刻(タッチ)
- 21. FTPフォルダ内のファイルを変更時刻でソートする方法
- 22. mod_rewriteでの変更時刻(mtime)を考える方法
- 23. 今日のテキストファイルで日付時刻を変更する方法
- 24. Oracleでdatetimeを変更し、時刻を午前9時に設定します。
- 25. ブラウザの時刻に合わせてUnixの時刻を変換する方法
- 26. 毎日特定の時刻にcordovaでローカル通知を設定する方法
- 27. Symfony 3 - 実行時に設定値を変更する方法
- 28. 実行時に突堤ログ設定を変更する方法
- 29. 特定の時刻に画像を変更する
- 30. 特定の時刻にデータベースフィールドを変更する
私の知る限り、このアプローチはシステム時間だけを変更しますが、BIOS時間は変更されません。私が間違っている? – FMuk
Windowsの時刻を設定すると、マシンのBIOS時刻が変更されます。 –
あなたが参照しているソースによると、ハードウェアリアルタイムクロック(BIOSヘルプで時刻を設定するときに「BIOS時刻」と命名されました)とOSに示されたシフトを持つRTCに基づくシステム(Windows)時刻です(たとえばタイムゾーンなど)。 Windows APIは、システム(OS)の時刻のみを変更します。 (私が何か間違って理解できれば申し訳ありません) – FMuk