我正在寻找一个可以用来在Windows10上安装新的更新时触发C#脚本的界面。
我想过每天轮询当前的Windows版本,并检查它是否是新版本,但听起来效率不是很高。
编辑
我正在考虑每天运行这个脚本;因此建议的方法不会像预期的那样工作。有没有办法检查上一次安装更新的时间?
发布于 2019-08-02 13:36:47
Windows Update Agent具有可用于查询Windows Update的COM对象。
下面是一个例子:
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库“WUAPI2.0类型库”)
上面的示例可以用来检查自上次运行以来安装的更新数量是否发生了变化。
查看参考文档,找到适合您使用的正确查询;例如,某些更新可能会被隐藏。
https://stackoverflow.com/questions/57320195
复制相似问题