首先,很可能是我以错误的方式处理我的问题,在这种情况下,我很乐意接受替代方案。
我想要实现的是检测 USB 设备连接到计算机后创建的驱动器。
这是简化的工作流程:
// Get list of removable drives before user connects the USB cable
List<string> listRemovableDrivesBefore = GetRemovableDriveList();
// Tell user to connect USB cable
...
// Start listening for a connection of a USB device
...
// Loop until device is connected or time runs out
do
{
...
} while
// Get list of removable drives after USB device is connected
List<string> listRemovableDrivesAfter = GetRemovableDriveList();
// Find out which drive was created after USB has been connected
???
GetRemovableDriveList
返回可移动驱动器号的字符串列表。我的想法是在设备连接之前获取可移动驱动器列表,在连接设备之后获取另一个列表,并且通过从第二个列表中删除第一个列表的内容,我将留下刚刚连接的驱动器(通常只有一个)。
但是我找不到从另一个列表中“减去”一个列表的简单方法。任何人都可以提出解决方案,甚至是更好的方法来实现我正在尝试做的事情。
注意:项目的目标是 .NET 框架 2.0,因此不可能使用 LINQ。
谢谢!