EjectMemoryCardFromCardReaderC#我使用以下代码在设备上进行交互和迭代:http://www.codeproject.com/KB/system/usbeject.aspx上面的代码使用以下行提供了“弹出”方法:Native.CM_Request_Device_Eject_NoUi(device.InstanceHandle,IntPtr.Zero,null,0,0);但是,这种“弹出”方法会卸载整个驱动器,而不是简单地弹出媒体卡。为什么这是一个问题是因为我想“弹出”媒体卡并放入另一张。但是,当整个读卡器弹出时,我必须拔下/重新插入设备才能显示备份。在Windows资源管理器中,当我右键单击“弹出”时,它如我所想的那样工作,它安全地移除了存储卡而不是读卡器。如何在C#中推送这种不同类型的弹出窗口?谢谢,斯蒂芬妮,我也在执行同??样的任务。?您需要使用可弹出的可移动媒体。请参阅此处的c++示例:如何弹出可移动媒体我在搜索“CM_Request_Device_Eject_NoUi”时偶然来到这里,看到它与我最近通过将类似解决方案组合在一起而做出的解决方案类似。原谅迟到的答案。这对我适用于AutoEjectVolume(这也解决了我在其他SO问题上看到的一些问题,这些问题来自Microsoft示例,而不是“系统在使用操作系统安全删除硬件时所做的一切”):来自如何在Windows中开始执行弹出可移动媒体中概述的步骤。替换对AutoEjectVolume的调用,其代码实际上是RemoveDrive方法的主体,如何准备USB驱动器以进行安全移除。请注意,此后续行动在很大程度上依赖于其他两篇CodeProject文章-包括您在问题中引用的文章-移植到C#。在2中,我说“实际上”是因为-事实上-两个解决方案中使用了相同的hVolume,在Microsoft解决方案中调用LockVolume、DismountVolume或PrepareRemovalOfVolume之前,在CodeProjectRemoveDrive方法中执行所有检查更有用意思是,然后调用CM_Request_Device_Eject_NoUi,如CodeProject解决方案中所示。一个简短的伪代码总结:以上是C#学习教程:从读卡器弹出存储卡C#分享所有内容。如果对大家有用,需要进一步了解C#学习教程,还望大家多加关注——本文整理自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
