如何以编程方式获取已安装的防病毒软件和防火墙?

问题描述:

如何获取有关安装在Windows计算机上的防病毒软件和防火墙软件的信息?如何以编程方式获取已安装的防病毒软件和防火墙?

+3

假装比你在危险之中;将这个问题重新定义为一个需要解决的具体问题,并将解决方案作为问题的答案。 –

您可以使用ManagementObjectSearcher获取此信息。

Public Function GetAntivirus() As String 
    Try 
     Dim data As String = String.Empty 
     For Each firewall As ManagementObject In New ManagementObjectSearcher("root\SecurityCenter" & IIf(My.Computer.Info.OSFullName.Contains("XP"), "", "2").ToString, "SELECT * FROM AntiVirusProduct").Get 
      data &= firewall("displayName").ToString 
     Next 
     If Not data = String.Empty Then 
      Return data 
     Else 
      Return "No Antivirus" 
     End If 

    Catch 
     Return "No Antivirus" 
    End Try 

End Function 

Public Function GetFirewall() As String 
    Try 

      Dim data As String = String.Empty 
      For Each firewall As ManagementObject In New ManagementObjectSearcher("root\SecurityCenter" & IIf(My.Computer.Info.OSFullName.Contains("XP"), "", "2").ToString, "SELECT * FROM FirewallProduct").Get 
       Data &= firewall("displayName").ToString 
      Next 
     If Not data = String.Empty Then 
      Return data 
     Else 
      Return "No Firewall" 
     End If 
     Catch 
      Return "No Firewall" 
     End Try 

End Function