我有一个USB海量存储设备,我用TrueCrypt加密。当我将它连接到Windows时,它要求格式化。使用TrueCrypt可以如期而至地显示其内容。

如何读取该设备的前100个字节?
我知道字节没有意义,因为它们是加密的,但我想读取它们以创建校验和。
发布于 2014-01-23 23:25:47
这是在我头顶上做的。但应该有效。
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。它起作用了。
发布于 2014-01-23 23:46:03
到目前为止,你考虑了什么解决方案?您的应用程序是否知道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/
这里有一个关于Stackoverflow的类似问题的足智多谋的讨论:在.NET中使用USB设备
https://stackoverflow.com/questions/21321327
复制相似问题