7

如何检查上次检查 Windows 更新的时间 - 在代码 (c#/.Net) 中?

不是安装或未安装哪些更新,而是上次检查是何时执行的?

最重要的是记录何时执行 Windows 更新检查的完整历史记录,但我当然可以只知道最后一次检查。

4

3 回答 3

12

查看此注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results

它有 3 个子键,每个子键提供有关不同事件的不同信息

  • 探测
  • 下载
  • 安装

每个键都有一个LastSuccessTime可以使用的值。

于 2012-02-09T17:49:11.870 回答
10

在 Windows 7、8、10 上,您可以使用以下代码:

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);
  • 参考“C:\Windows\System32\wuapi.dll”。
  • 检查 EmbeddedInteropTypes on reference 是否设置为 False。
于 2016-01-27T07:58:47.417 回答
-7

在 Windows 7 中,转到控制面板、系统和安全、Windows 更新。有一个选项可以查看所有更新的历史记录,其中给出了每个更新的时间和日期。

于 2013-10-12T17:30:10.130 回答