我该如何在代码(c#/.Net)中检查上次检查Windows更新的时间?
不是检查有哪些更新已安装或未安装,而是检查上次检查的时间?
最好的情况是可以完整地了解Windows更新检查的历史记录,但是只知道上次检查的时间也足够了。
我该如何在代码(c#/.Net)中检查上次检查Windows更新的时间?
不是检查有哪些更新已安装或未安装,而是检查上次检查的时间?
最好的情况是可以完整地了解Windows更新检查的历史记录,但是只知道上次检查的时间也足够了。
请看这个注册表键:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results
它有三个子键,每个子键提供不同的信息,涉及不同的事件:
每个键都有一个 LastSuccessTime
值可供使用。
var auc = new AutomaticUpdatesClass();
DateTime? lastInstallationSuccessDateUtc = null;
if (auc.Results.LastInstallationSuccessDate is DateTime)
lastInstallationSuccessDateUtc = new DateTime(((DateTime)auc.Results.LastInstallationSuccessDate).Ticks, DateTimeKind.Utc);
DateTime? lastSearchSuccessDateUtc = null;
if (auc.Results.LastSearchSuccessDate is DateTime)
lastSearchSuccessDateUtc = new DateTime(((DateTime)auc.Results.LastSearchSuccessDate).Ticks, DateTimeKind.Utc);