首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Inno Setup检查是否安装了防病毒软件

Inno Setup检查是否安装了防病毒软件
EN

Stack Overflow用户
提问于 2013-07-13 17:38:30
回答 1查看 687关注 0票数 0

有没有办法检查是否使用Inno Setup安装了防病毒软件?

EN

回答 1

Stack Overflow用户

发布于 2013-07-14 10:04:00

可以使用AntiVirusProduct WMI类,具体取决于必须连接到root\SecurityCenterroot\SecurityCenter2命名空间的窗口版本。

有关更多详细信息,请查看本文 Getting the installed Antivirus, AntiSpyware and Firewall software using Delphi and the WMI

注意: Windows类仅支持AntiVirusProduct桌面版(Windows XP、Windows Vista、7、8)。

请尝试此示例。

代码语言:javascript
复制
function IsAntivirusInstalled: Boolean;
var
    FSWbemLocator: Variant;
    FWMIService   : Variant;
    FWbemObjectSet: Variant;
    Version: TWindowsVersion;
begin 
    GetWindowsVersionEx(Version);    
    Result := false;
    FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator');

    if (Version.Major = 5) and (Version.Minor = 1) then //Windows XP
      FWMIService := FSWbemLocator.ConnectServer('', 'root\SecurityCenter', '', '')
    else
    if (Version.Major = 6) then 
      FWMIService := FSWbemLocator.ConnectServer('', 'root\SecurityCenter2', '', '')
    else
    exit;

    FWbemObjectSet := FWMIService.ExecQuery('SELECT displayName FROM AntiVirusProduct');
    Result := (FWbemObjectSet.Count > 0);
    FWbemObjectSet := Unassigned;
    FWMIService := Unassigned;
    FSWbemLocator := Unassigned;
end;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17628901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档