我希望能够调用病毒检查作为构建过程的最后阶段(请不要question why开发机器会得到病毒,它可以选择在机器上安装AV但是切换自动文件系统保护关闭(至少对于构建目录) .
我想要的是使用任何AV系统扫描文件的通用方法 . 我认为这是一个Windows API来实现这一点,因为Windows检测到AV系统的存在,而Firefox等浏览器会在下载文件时调用病毒扫描 . 那么's the API that they'正在使用什么?这是Microsoft AntiVirus API,但似乎特定于Office文档 . 该方法是否涉及使用WMI? (如果你可以从那里检测AV提供商,你如何调用它来扫描文件?)
我知道我可以编写脚本来手动调用我知道要安装的AV扫描仪,但作为一项智力练习,我更想知道像Firefox这样的应用程序是如何做到的 .
2 回答
好吧,您可能想直接在Firefox源代码上查看
nsDownloadScanner
系统:nsDownloadScanner.h
nsDownloadScanner.cpp
正如对该文件的评论所述:
这些界面上的文档可以在这里找到:
IAttachmentExecute
IOfficeAntiVirus
如果您的软件是开源的,则符合MPL许可证(感谢@MSalters),您也可以直接使用Firefox代码,以避免重新发明轮子 .
Firefox使用IAttachmentExecute API . 但是,您不希望在构建脚本中使用它,因为它将添加备用流信息,告知窗口在执行文件时显示恼人的警告窗口 .