微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

有没有办法从.NET检查,如果Windows更新启用?

我想提醒用户每次login到我的应用程序,他们的计算机可能有风险,并给他们一个链接到Windows更新网站(或从控制面板的Windows更新应用程序)。

最好它应该在XP,Vista和Windows 7上工作。也许有一个registry项,甚至更好的API?

2 AverageTimer32性能计数器

使用c#在本地注销Windows用户

使用SMTP作为IP地址发送邮件时,无法parsing远程名称

无法安装Windows 7 SDK(需要已安装.NET Framework 4)

后台线程上的Windows Mobile C#数据集更新

为什么Process.Start会意外返回false

如何安装同一个windows服务的多个实例

将窗口焦点恢复到之前的所有者

从IntPtr句柄获取Control / Form对象

在C#中实现传递身份validation

首先添加一个对WUApiLib“C: windows system32 Wuapi.dll”的引用

那么你可以使用这个代码片段。

WUApiLib.AutomaticUpdatesClass auc = new WUApiLib.AutomaticUpdatesClass(); bool active = auc.ServiceEnabled;

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

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

当然,这是你的选择,但是每隔几分钟就会提示WindowsUpdate关闭是XP中最糟糕的可用性问题。

你不想刺激你的用户。 你应该爱他们。 绝对不要干涉他们的私人事务,比如检查WU是否关闭,因为说实话这不是你的事情。

我相信你可以通过使用Windows更新代理API来做到这一点。

有关详细信息,请参阅IAutomaticUpdates 。

您可以检查以下注册表项。

HKEY_LOCAL_MACHINE SOFTWARE Microsoft Active Setup Installed Components {89820200-ECBD-11cf-8B85-00AA005B4340}

如果它的IsInstalled值是1,则安装Windows Update。

这是从:

http://windowsitpro.com/article/articleid/15266/how-can-i-detect-if-windows-update-is-installed-on-a-machine.html

我真的很喜欢这个问题的另一个答案 ,但不幸的是,它只支持XP SP3,这可能是不可行的。

或者,您可以使用PROCESS对象检查Windows Update服务是否正在运行。

沿着这些线路的东西:

Function CheckIfServiceIsRunning(ByVal serviceName As String) As Boolean Dim mySC As ServiceProcess.ServiceController mySC = New ServiceProcess.ServiceController(serviceName) If mySC.Status = ServiceProcess.ServiceControllerStatus.Stopped Then ' Service isn't running Return False ElseIf mySC.Status = ServiceProcess.ServiceControllerStatus.Running Then ' Service already running Return True End If End Function

如果记忆服务,适用的服务被命名为“Wuauserv”

Michael Piendl的回答对我来说并不奏效,但它给了我所需要的信息,使之成为可能:

WUApiLib.AutomaticUpdatesClass auc = new WUApiLib.AutomaticUpdatesClass();<br> string notificationLevel = auc.Settings.NotificationLevel.ToString();<br><br>

notificationLevel字符串将等于不同的东西,这取决于从“自动更新”对话框中选择的选项。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐