我有一个USB 2.0的盒子,塞了一个20G的2.5"硬盘在里面,并且对半分了两个区。
每次用的时候,只要使用资源管理器打开多几次盒子里的目录,然后将所有的资源管理器窗口都关闭;这是安全移除USB设备,但每次都提示设备在使用,不能移除。将桌面上的所有窗口都关闭,再次移除,结果还是一样;只能直接拔掉连接线。
在不同的PC上使用,屡试不爽。
某日,下载了www.sysinternals.com Process Explorer,鼓捣了一番,终于发现了蛛丝马迹:
运行Process Explorer,按Ctrl+L,在Process中选择explorer.exe;
在下面的List中,单击Type列,让其排序,选择任意行,按F键,跳到Type为File的起始行,在Type为File的行中查找Name列中指向盒子的路径的行,选中后,右击该行选择Close Handle,完成后,在安全移除盒子,马上成功了。
但是,我使用普通U盘时,没有该问题。
所有的窗口都关闭了,但资源管理器还是持有某个打开的句柄,这是否是资源管理器的一个资源泄露Bug呢?