我正在寻找一个只要Windows 10上安装了新更新就可以用来触发C#脚本的接口。
我想到每天都要轮询当前的Windows版本,并检查它是否是新版本,但是听起来效率不高。
我正在考虑每天运行此脚本;因此建议的方法将无法按预期工作。有没有办法检查上次安装更新的时间?
答案 0 :(得分:2)
Windows Update Agent有一个COM对象,可用于查询Windows Update。
这里是一个例子:-
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WUApiLib;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var session = new UpdateSession();
var searcher = session.CreateUpdateSearcher();
searcher.Online = false;
var result = searcher.Search("IsInstalled=1");
Console.WriteLine($"Found {result.Updates.Count} installed updates");
Console.Read();
}
}
}
(您需要在项目中引用COM库“ WUAPI 2.0类型库”)
以上示例可用于检查自上次运行以来已安装的更新数是否已更改。
在参考文档中查找适合您的正确查询;例如,某些更新可能被隐藏。