2012-07-15 62 views
0

我正在用Windows窗体中的C#语言制作防病毒扫描程序。使用当前代码,程序可以打开文件夹并开始扫描文件。当选择的文件夹是“我的电脑”或“用户配置文件”时,它将显示很多例外情况,并在此刻停止扫描。我想任何人都请示范我如何解决这个问题。访问计算机中的文件

例外情况是:

System.IO.IOExceptionSystem.UnauthorizedAccessException等等。

我想告诉你一些代码部分。图片可在这里找到。我想在这里粘贴代码,但我的机构严格防范剽窃。

click for a larger version

请帮我解决我的情况。

谢谢

+1

你能否在这里粘贴你的代码?该图像是相当小的。此外,基于异常类型似乎IOException的文件正在使用或什么的。而UnauthorizedAccessException,对于它自身来说也是这样,你没有足够的权限来访问它们。通过以管理员权限运行您的应用程序再试一次 – 2012-07-15 15:26:19

回答

1

,因为他们不目录无法扫描“我的电脑”或“用户配置文件”,他们在设计允许用户访问的标准目录树浏览器控件只是节点某些类型的位置。

如果您希望他们能够扫描这些文件夹,您需要检测到他们已经选择了一个,并提供自己的逻辑来枚举要扫描的位置。

在一个微妙的切线上,我真诚地希望你不打算将这个项目用作真正AV包的替代品。构建反恶意软件系统并不是一件容易的事情,特别是当您考虑需要阻止的攻击类型时。如果这仅仅是为了学习的目的,那很好,但不要指望即使是自制设计增加安全性的最轻微水平。正确的AV包需要一个大型的检测签名数据库(静态哈希,模糊哈希,数据模式),内核模式组件,内存扫描器和行为分析。很难自己建立所有这些。

(来源:我自己写了一个,作为一个有趣的项目!)

+0

并添加 - 确保您执行某种并行处理,否则将采用FOREVER。 – tsells 2012-07-15 17:27:58

相关问题