2012-07-15 80 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

相關問題