如果启用了Windows Update,请从.NET检查

Ovi*_*Ovi 5 .net c# vb.net windows

有没有办法从.NET检查是否启用了Windows更新?

我想在每次登录我的应用程序时提示用户他们的计算机可能存在风险,并为他们提供指向Windows更新网站(或控制面板上的Windows更新应用程序)的链接.

它最好适用于XP,Vista和Windows 7.也许有一个注册表项或更好的API?

Mic*_*ndl 8

首先添加对WUApiLib"C:\ windows\system32\Wuapi.dll"的引用

然后,您可以使用此代码段.

WUApiLib.AutomaticUpdatesClass auc = new WUApiLib.AutomaticUpdatesClass();
bool active = auc.ServiceEnabled;
Run Code Online (Sandbox Code Playgroud)

MSDN:"ServiceEnabled属性指示自动更新所需的所有组件是否可用."

设置auc.Settings.NotificationLevel包含有关当前模式的信息.http://msdn.microsoft.com/en-us/library/aa385806(VS.85).aspx


Use*_*ser 5

当然,您可以选择这样做,但每隔几分钟就会提示WindowsUpdate被关闭是迄今为止XP中最糟糕的可用性问题.

你不想激怒你的用户.你应该爱他们.并且绝对不会干涉他们的私人事务,例如检查WU是否已关闭,因为老实说这不属于你的业务.