栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用C#在Windows上检测防病毒[关闭]

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用C#在Windows上检测防病毒[关闭]

根据Microsoft的说法,Windows安全中心使用两层方法来检测状态。一层是手动的,另一层是通过Windows Management
Instrumentation(WMI)自动实现的。在手动检测模式下,Windows安全中心将搜索独立软件制造商提供给Microsoft的注册表项和文件。这些注册表项和文件使Windows安全中心可以检测独立软件的状态。在WMI模式下,软件制造商确定自己的产品状态,然后通过WMI提供程序将该状态报告给Windows安全中心。在两种模式下,Windows安全中心都会尝试确定以下各项是否成立:

存在防病毒程序。

防病毒签名是最新的。

防病毒程序的实时扫描或读写扫描已打开。

对于防火墙,Windows安全中心会检测是否安装了第三方防火墙以及是否打开了防火墙。

因此,为了确定是否存在防病毒软件,可以使用WMI与

rootSecurityCenter
名称空间建立连接(从Windows
Vista开始,必须使用
rootSecurityCenter2
名称空间),然后查询
AntiVirusProduct
WMI类。

看看这个示例代码

using System;using System.Text;using System.Management;namespace ConsoleApplication1{  class Program  {    public static bool AntivirusInstalled()    {      string wmipathstr = @"\" + Environment.MachineName + @"rootSecurityCenter";      try      {        ManagementObjectSearcher searcher = new ManagementObjectSearcher(wmipathstr, "SELECt * FROM AntivirusProduct");        ManagementObjectCollection instances = searcher.Get();        return instances.Count > 0;      }      catch (Exception e)      {        Console.WriteLine(e.Message);      }      return false;    }    public static void Main(string[] args)    {      bool returnCode = AntivirusInstalled();      Console.WriteLine("Antivirus Installed " + returnCode.ToString());      Console.WriteLine();      Console.Read();    }  }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/576001.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号