是否有快速列出所有修补程序/ KB的方法?我看到这个,但不知道在哪里找到使用它的DLL。有没有其他方法可以获得这些信息?
var updateSession = new UpdateSession();
var updateSearcher = updateSession.CreateUpdateSearcher();
var count = updateSearcher.GetTotalHistoryCount();
var history = updateSearcher.QueryHistory(0, count);
for (int i = 0; i < count; ++i)
Console.WriteLine(history[i].Title);
答案 0 :(得分:1)
如果您没有互操作库,可以使用dynamic
通过ProgID访问它:
dynamic updateSearcher = Activator.CreateInstance(Type.GetTypeFromProgID("Microsoft.Update.Searcher"));
var count = updateSearcher.GetTotalHistoryCount();
var history = updateSearcher.QueryHistory(0, count);
for (int i = 0; i < count; ++i)
Console.WriteLine(history[i].Title);
接口在MSDN页面上列为WUAPI.idl,因此另一个选项是用midl
编译它并引用生成的tlb(添加参考&gt; COM)。
@HansPassant指出tlb已预先注册为“WUAPI 2.0 Type Library”,无需手动编译idl。