在 Windows 系统中,可以通过 WMI 查询 Win32_QuickFixEngineering 来获得主机上已安装的操作系统更新包信息。如果需要使用 C# 判断指定的 Windows 更新是否已经安装,可以使用以下代码:
////// 查询指定的 Windows 更新是否安装 /// public static bool IsKbInstalled(string kb) { var query = $"select * from Win32_QuickFixEngineering where HotFixID = '{kb}'"; using (var searcher = new ManagementObjectSearcher(@"root\cimv2", query)) { return searcher.Get().Count > 0; } }
上述代码定义了一个名为 IsKbInstalled 的方法,该方法需要引入命名空间 System.Management 可以传入 Windows 更新的具体编号,返回布尔值代表指定的更新是否已经安装。一个简单的调用方式如下:
var kb = "KB5007215";
if (IsKbInstalled(kb))
{
Console.WriteLine("更新已安装");
}
else
{
Console.WriteLine("更新未安装");
}










