2013-06-24 83 views
-5

有沒有辦法將「驅動器」注入到資源管理器? 我想要實現的: 打開資源管理器時,應該有一個看起來像硬盤或網絡驅動器的正常分區的驅動器(只有區別:沒有容量信息(如果可能)以及不同的圖標)。它不需要任何IO邏輯,我需要的僅僅是點擊時採取行動。 當它被點擊時,應該出現一個彈出窗口來插入密碼,如果密碼正確,我想刪除假驅動器,安裝網絡驅動器並打開網絡驅動器的根目錄(基本上用戶甚至沒有注意到它是因爲它看起來像他打開了網絡驅動器,它會打開一個假的驅動器)C#「注入」驅動器到Windows資源管理器

問候, 隱藏

+0

爲什麼有人需要這樣的東西? - 這聽起來更像是一個非常糟糕的錯誤,而不是應用程序... – Smartis

+1

@Smartis或者某種病毒竊取用戶使用最多的密碼。 – Leri

+0

別擔心,它不是病毒(誰會在C#中編寫病毒?)。這是我現在不想解釋的某種安全改進(我不希望任何人在我能夠發佈我的應用程序之前複製我的想法)。這個功能也不是一個錯誤,它使我的應用程序的使用更容易一些無經驗的用戶。 – Hidden

回答

2

對於那些沒有任何不良意圖和回答的主要問題誰:

是,有一種方法可以通過使用Win32 API「注入」虛擬驅動器:

[DllImport("kernel32.dll", CharSet = CharSet.Auto)] 
    private static extern bool DefineDosDevice(
     int dwFlags, 
     string lpDeviceName, 
     string lpTargetPath); 
+0

好吧,基本上我在找什麼,謝謝。有沒有辦法命名虛擬驅動器?它複製我定義的路徑的根驅動器的名稱,並且SetVolumeLabel和DeviceInfo.VolumeLabel均失敗。 – Hidden