首先,很有可能我在解决问题的方式上是错误的,如果有其他方法,我也很乐意接受。
我的目标是在连接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 Framework 2.0,因此无法使用LINQ。
谢谢!