这个东西本身没什么技术含量,启动新进程 跟命令行一样 几句代码的事 。说白了 还是要靠杀毒软件支持。比如你可以在服务器上做一个自动化的 程序模块  ,有用户上传文档 就进行病毒检测。现在的杀毒软件都可以自动做到这些的 ,指定目录下出现病毒文件会报的。杀毒软件还可以设定计划任务 ,指定何时扫描指定文件夹 ,可以设定检测到病毒后对文件的处理方式。其实这种需求本身是没什么太大必要的 ,坑爹啊 客户是上帝啊。既然有需求我们就要 给客户实现。

好 不说了开始干活了。先从网上下载个免费版的小红伞 ,安装好。我的是这个版本的:

转到我的安装目录 C:\Program Files (x86)\Avira\AntiVir Desktop  看到这个了噻: avscan.exe  ,我们就调用它。通过命令调用avscan需要一个配置文件 ,我们在d盘新建一个文本文件 更名为myavp.avp  内容为:

[CFG]
GuiMode=1
ExitMode=1
[SEARCH]
Parameter=0x00300432
[CONTROLCENTER]
ProfileName=myscan

然后把文件属性设为只读 ,要不然 调用后 小红伞会删除此配置文件。别问我什么意思 ,我也不知道什么意思 ,小红伞安装目录也有很多的avp文件 。不过可以确定一点 guimode=1 意思是控制是否弹出界面 ,哇哈哈    ,别砸我。为了测试成功与否我们得找个病毒文件,擦 我哪去找病毒文件啊 ,最终我还是找了个 ,当前比较流行 时尚的lpk.dll 。如假包换这绝对是一个病毒文件 我朋友传给我的压缩包里的。然后再随便找个图片文件  th.jpg  其他随便什么exe文件  随便都可以 随意。

然后 运行命令行如下:

D:\>cd C:\Program Files (x86)\Avira\AntiVir Desktop
C:\Program Files (x86)\Avira\AntiVir Desktop>avscan /CFG="d:\myavp.avp" /PATH="d:\th.jpg"

这只是个普通图片文件 事实检测此妹纸是无毒的:

然后运行命令 参数设定为扫描有病毒的文件:
C:\Program Files (x86)\Avira\AntiVir Desktop>avscan /CFG="d:\myavp.avp" /PATH="d:\lpk.dll"
结果:

注意在win7下 有可能会出现提示“要允许以下程序对计算机进行更新吗” 这个请自行设置 管理员权限。

我们想要的是不让他弹出界面,把上面的 配置 第一个项改成GuiMode=0  ,然后再运行命令行 ,结果是 界面是没了 但是命令行里 却什么结果也不返回 。运行命令 然后就完了 空空如也  这个我也不知道怎么回事 先不管。 新建一个winform程序 写一段如下c#函数:

 1 void invokeAntivirus(string executeFileFullName,string args,string docFullName)
 2 {
 3     Process proc =null;
 4     proc = new System.Diagnostics.Process();
 5     proc.StartInfo.FileName = executeFileFullName;
 6     proc.StartInfo.Arguments = string.Format(args, docFullName);
 7     proc.Start();
 8     proc.WaitForExit(); //等待
 9
10     if (proc.ExitCode == 0)
11         MessageBox.Show("没病毒啦啦啦");
12     else
13         MessageBox.Show("注意,有情况");
14 }

然后在按钮的click事件里调用:

1 string exe = @"C:\Program Files (x86)\Avira\AntiVir Desktop\avscan.exe";
2 string args = "/CFG=\"d:\\myavp.avp\" /PATH=\"{0}\"";
3 string docFile = textBox1.Text;
4 invokeAntivirus(exe, args, docFile);

最后运行下我们编译后在debug目录的程序 ,一定要鼠标右键 以管理员方式运行。
在文本框填写d:\th.jpg

在文本框填写:d:\lpk.dll

当你点击按钮后界面会死几秒钟 才有反应 ,因为要等扫描进程结束。如果你想解决此情况不让界面死掉 那么最简单的方式 放到另一个线程里执行就可以了。proc.ExitCode != 0 的那些代码是什么意思其实我也不明白 ,反正等于0的是正常文件 。反正功能实现了就行了 坑啊。注意需扫描的文件名或者路径填错了 并不报错 而是proc.ExitCode==0 。并且扫描结束后发现d盘的病毒文件已经不见了。再看小红伞的界面 原来已经被自动隔离了:

转载于:https://www.cnblogs.com/assassinx/p/4159818.html

小红伞杀毒软件自动化调用相关推荐

  1. 在WinServer上安装小红伞杀毒软件的经验总结

    作者:朱金灿 来源:http://blog.csdn.net/clever101 在WinServer2008或WinServer2012不能直接安装小红伞杀毒软件的免费版,需要安装服务器版.我手头并 ...

  2. 德国精品软件 小红伞杀毒软件 AntiVir

    小红伞杀毒软件是一款德国著名杀毒软件的中文昵称,其英文名为AntiVir,自带防火墙(S版),它能有效的保护个人电脑以及工作站的使用,以免受到病毒侵害.软件只有百兆大小,它却可以检测并移除超过60万种 ...

  3. 德国精品软件 小红伞杀毒软件 AntiVir

    小红伞杀毒软件是一款德国著名杀毒软件的中文昵称,其英文名为AntiVir,自带防火墙(S版),它能有效的保护个人电脑以及工作站的使用,以免受到病毒侵害.软件只有百兆大小,它却可以检测并移除超过60万种 ...

  4. Python+Selenium UI自动化 - 调用JS代码

    当webdriver遇到无法完成的操作时候,这个时候可以使用javascript来完成,webdriver提供了execute_script()接口来调用js代码. 执行js有两种场景: 1.在页面上 ...

  5. 自动化调用dosbox编译运行MASM/TASM代码

    利用终端自动化编译运行MASM/TASM代码 如果需要配置方法,请参考 notepad++配置自动化编译运行TASM的方法 notepad++配置自动化编译运行MASM的方法 VSCode使用终端任务 ...

  6. Python+selenium 自动化-调用dom节点的click()监听事件,强力操作节点,穿透元素进行点击,节点被遮挡不可点击解决方法

    非常简单!只需要两步: 第一步,我先获取 dom 节点. 第二步,然后通过 driver.execute_script() 方法调用 dom 节点的 click() 监听事件. a = driver. ...

  7. 强大的安全工具 杀毒软件小红伞试用测评

    在病毒横行的今天,一款正版的杀毒软件是必不可少的,因为只有这样才能及时查杀网上最新的病毒和木马.黑客程序.但是国外的杀毒软件价格不菲,国产软件的效果又令人担忧.一款来自德国的杀毒软件AntiVir(中 ...

  8. python 调用摄像头拍照_《自拍教程67》Python调用摄像头, 拍照拍照!

    案例故事:有一款已经上市的终端产品,偶现异常自动重启的情况, 测试经理要求我们压测并尝试复现,我们的压测方案是: 利用摄像头,每1 ~ 2秒拍一张终端产品运行的图片,拍摄一晚上, 回头一张图片一张图片 ...

  9. jenkins api使用_使用管理API和Jenkins作为IBM App Connect Professional部署自动化的持续集成引擎

    在本教程中,您将了解使用IBM App Connect Management API,SoapUI客户端和Jenkins在IBM App Connect(以前称为WebSphere®CastIron® ...

最新文章

  1. python实训第七天
  2. mysql 常用命令 | 表间 弱关联 join
  3. 翻译题(map使用)
  4. linux变量最大长度,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  5. oracle 创建用户表空间及赋权
  6. python展示全部好友_python爬所有好友头像
  7. gitlab和jenkins发布代码
  8. 小学计算机知识点,小学信息技术单元知识点目录介绍
  9. docker 镜像的保存以及导入
  10. Python学习之路9☞面向对象的程序设计
  11. 自制XML解析器源码分析
  12. 常见计算机蓝屏代码,老司机教你常见电脑蓝屏代码大全
  13. PASCAL VOC数据集分析及下载、解压
  14. pytorch入门——构建神经网络
  15. 计算机网络局域网的组建实验报告,小型局域网组建实验报告
  16. 几种常见的软件开发模型分析
  17. helm 简介与入门
  18. 乒乓球发旋转球的关键是什么?
  19. AutoCAD Civil 3D中将CASS地形图中地形点转换成CAD点实体
  20. CH330显示未知USB设备(设备描述符请求失败)

热门文章

  1. [服务计算] 简单 web 服务与客户端开发实战
  2. 【Pyton】【小甲鱼】永久存储:腌制一缸美味的泡菜
  3. rono在oracle的作用_sqlnet.ora的作用
  4. 团队作业2——团队计划
  5. 我是如何用最简单的前端技术揭示那些灰色产业背后的原理
  6. 瑞萨RH850/F1L-片上资源分配(Flash,RAM,外设资源)
  7. 【简介】流程化项目管理咨询师刘俊平介绍
  8. c语言链表的插入 查询 删除
  9. 如何用计算机算ln,如何用计算器算LN(对数)?
  10. 05 linux shell脚本 变量的取用echo;变量的设置和修改;变量的使用规范以及示例