我嘗試讓上次系統關閉和/或重新啟動。但它對我不起作用。
我在 10 分鐘前重新啟動我的機器并關閉電源。但是代碼告訴我關于上次關閉的資訊 - 它是酵母日。
我讀了這個問題:
使用 .NET 獲取上次 Windows 關閉事件的日期時間
如何知道 Windows 何時啟動或關閉?
但它不適用于我的機器。
我試試這個代碼:
var _rebootPerformanceCounter = new global::System.Diagnostics.PerformanceCounter("System", "System Up Time");
_rebootPerformanceCounter.NextValue();
var uptimeSpan = TimeSpan.FromSeconds(_rebootPerformanceCounter.NextValue());
var uptime = uptimeSpan.ToString();
和這個:
string sKey = @"System\CurrentControlSet\Control\Windows";
using (Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sKey))
{
string sValueName = "ShutdownTime";
byte[] val = (byte[]) key.GetValue(sValueName);
long valueAsLong = BitConverter.ToInt64(val, 0);
var shutdownTime= DateTime.FromFileTime(valueAsLong);
Console.WriteLine(shutdownTime); //THIS
}
和這個:
if (EventLog.Exists("System"))
{
var log = new EventLog("System", Environment.MachineName, "EventLog");
var entries = new EventLogEntry[log.Entries.Count];
log.Entries.CopyTo(entries, 0);
var startupTimes = entries.Where(x => x.InstanceId == 2147489653).Select(x => x.TimeGenerated);
var shutdownTimes = entries.Where(x => x.InstanceId == 2147489654).Select(x => x.TimeGenerated);
var shutdownEvents = entries.Where(x => x.InstanceId == 2147484722);
}
所以,這些值是一樣的:它說我昨晚重新啟動了我的機器并且不顯示最后一次關機時間。我在 PC 和筆記本上嘗試此代碼,結果相同。在我的電腦上,我有不間斷的電源裝置,我把它關掉了。
所以我很困惑。我究竟做錯了什么?
uj5u.com熱心網友回復:
解決方案很簡單:我應該關閉“聰明的電源管理” -
powercfg -h off
代碼有效!
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/315935.html
上一篇:檢索位圖影像的調色板
