有没有办法从.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] 举报,一经查实,本站将立刻删除。