2014-01-23 81 views
2

我有一個USB海量存儲設備,我用TrueCrypt加密。當我將它連接到Windows時,它會要求格式化。如預期的那樣,使用TrueCrypt顯示其內容。讀取一個USB海量存儲設備的字節

enter image description here

我如何可以讀取前100個字節該設備的?

我知道這些字節沒有意義,因爲它們是加密的,但我想讀取它們以創建校驗和。

+0

谷歌爲「DD窗戶」 –

+0

檢查:http://www.developerfusion.com/article/84338/making -usb-c-friendly/ – JleruOHeP

回答

2

這是我的頭頂。但是應該工作。

public static long getBytes(string letter) 
    { 
     ManagementObject disk = new ManagementObject(String.Format("win32_logicaldisk.deviceid=\"{0}:\"", letter)); 
     disk.Get(); 
     return long.Parse(disk["Size"].ToString()); 
    } 

編輯:測試它並將int更改爲long。有用。

+1

+1幫助謝謝! 。所有的usb都是相同的大小,雖然:(。它們都有不同的內容,這就是爲什麼我要創建一個字節的哈希值 –

+1

哦,我的壞,我一定錯過了你的問題,如果你打算使用一個用於識別每個驅動器的校驗和,我會使用一個HWID來代替。這樣的東西可能會工作:http://stackoverflow.com/questions/4084402/get-hard-disk-serial-number – AaronDancer

+0

我雖然沒有這樣做,並沒有不知道硬盤上有一個串口,我想這就是要走的路,即將嘗試! –

1

到目前爲止您考慮過哪些解決方案? USB設備插入或拔出時,您的應用程序是否會發現?

據我所知,在.Net中沒有原生支持來直接訪問USB設備。我不得不使用LibUsbDotNet(http://sourceforge.net/projects/libusbdotnet/)或SharpUSBLib(http://www.icsharpcode.net/OpenSource/SharpUSBLib/)這樣的庫。在樣本,文檔等方面都有優點和缺點。我相信您將能夠找到最適合您的方案。

在一種情況下,我可以使用WMDC連接到設備,一旦連接建立,我使用OpenNETCF RAPI庫讀取/寫入設備。

這是另一個很好的資源,當我編寫需要與USB設備(條形碼掃描儀)交互的應用程序時,我發現它很有用。 http://www.developerfusion.com/article/84338/making-usb-c-friendly/

有一個類似的問題在這裏#2的好足智多謀的討論:Working with USB devices in .NET

相關問題