2012-02-12 137 views
3

美好的一天,有沒有任何選項可以創建一個從Windows無法看到的文件夾?我想插入一些文件到這個盒子裏。這些文件只能通過我的應用程序訪問,而不能從Windows訪問。先謝謝你。包含文件的文件夾,無法從Windows中看到

+3

框中,你是指文件夾? – xbonez 2012-02-12 11:54:34

+0

它可以是文件夾,但不應該從Windows訪問此文件夾,但只能從應用程序訪問。那可能嗎? – cotablise 2012-02-12 12:16:26

+1

你不能創建一個'盒子'。它必須是一個文件夾。此外,沒有辦法保證Windows不會訪問這些文件 - 不能卸載窗口。 – xbonez 2012-02-12 12:19:41

回答

5

有多少個文件,你如何訪問它們?如果他們只是爲了閱讀而沒有太多,你總是可以選擇將它們作爲資源存儲在你的項目中。查看MSDN上的this link,瞭解如何直接在組件中存儲各種文件類型。

注意:如果您打算存儲密碼或安全敏感數據,則不應使用此方法。

另一種替代方法是將文件存儲在數據庫中。如果您要使用諸如SQLitehere is the .Net data provider)之類的東西,Windows將有權訪問數據庫文件,但不能訪問數據庫(可以加密)中包含的文件。根據您的數據,您必須將文件信息存儲爲二進制大對象(blob)。有關如何執行此操作的示例,請參見here

+0

超級,謝謝你的想法和鏈接 – cotablise 2012-02-12 13:22:05

+0

@cotablise:沒問題。祝你好運! – 2012-02-12 14:05:08

0

如果你的問題是如何隱藏盒子,那麼你可以設置「Visible」屬性爲false,而不管這個「盒子」使用什麼樣的控件。

+0

問題是我不知道如何創建盒子或類似的東西,我可以插入文件。我不想只改變Windows文件夾的屬性。我想創建類似文件夾的文件夾,但不應該從Windows訪問此文件夾,而只能從應用程序訪問。那可能嗎? – cotablise 2012-02-12 12:15:37

0

如果您的包裝箱中不包含大量文件或不包含大文件,您可以嘗試將其保存在壓縮文件中,如.zip併爲其添加密碼。還要在該框上添加隱藏屬性。

+0

但是這個ZIP將可以從Windows訪問。我試圖找出是否可以創建一些無法直接從Windows訪問的內容。用戶必須使用我的應用程序才能訪問這些文件。 – cotablise 2012-02-12 12:24:14

1

它取決於你想要的抽象層。由應用程序創建的所有文件都可以通過Windows訪問,但是,您可以屏蔽這些文件的內容(即加密它們)。

一般而言,您仍然可以將文件存儲在一個文件夾中,並應用加密。這裏是關於msdn article的一點。另一個問題是你在哪裏存儲用於加密的密鑰。

一個簡單的解決方案是在某些變量中對密鑰進行硬編碼。但是,如果程序集反編譯,密鑰將變得明顯。另一方面,如果您希望創建文件的用戶開始使用,那麼只能訪問這些文件,那麼您可以使用Data Protection API

+0

不錯,謝謝你的建議和鏈接... – cotablise 2012-02-12 13:20:59

相關問題