如何以编程方式在Windows(XP)中弹出(安全删除)USB大容量存储设备?
答案 0 :(得分:2)
Here是一个项目(带有源代码)似乎已经弄明白了。
答案 1 :(得分:2)
答案 2 :(得分:2)
它基本上来自这个Microsoft article并使用kernel32.dll DeviceIoControl函数
当然,这个问题似乎与Safe remove USB-Drive using Win32 API?重复,后者提供了其他解决方案
答案 3 :(得分:2)
首先从http://www.codeproject.com/Articles/13530/Eject-USB-disks-using-C下载代码
然后将文件夹“Library”的类导入项目
将此代码放入点击按钮。
private void btnExpulsar_Click(object sender, RoutedEventArgs e)
{
//Expulsa todas las unidades
VolumeDeviceClass volumeDeviceClass = new VolumeDeviceClass(); //Enlista las unidades
foreach (var item in volumeDeviceClass.Devices.ToList())
{
if (item.IsUsb)//Verifica que sean unidades USB
{
item.Eject(true); //Expulsa las unidades
}
}
}
答案 4 :(得分:1)
您可以生成一个进程并使用command line tool。这也适用于其他语言,例如java,其中调用Win32 api更难。