Windows CDROM Eject
有谁知道在Windows 2000或更高版本上以编程方式关闭CD托盘的方法? 我特别在寻找一种从批处理文件执行此操作的方法,如果可能的话,但是API调用就可以了。 我有点喜欢使用DeviceIOControl,因为它使我可以弹出任何类型的可移动驱动器(例如USB和闪存盘以及CD托盘)。 Da Codez使用DeviceIOControl正确弹出磁盘是(只需添加适当的错误处理):
这是使用Win32 API的简单方法:
我注意到Andreas Magnusson的答案与Explorer的"弹出"按钮完全不同。具体来说,该驱动器并未使用Andreas的代码在资源管理器中显示为灰色,但如果您使用的是弹出命令,则该驱动器为灰色。所以我做了一些调查。 我从资源管理器(Windows 7 SP1 64位)运行"弹出"命令时运行了API Monitor。我还发现了一篇不错的(现已失效)的MSKB文章165721,标题为"如何在Windows NT / Windows 2000 / Windows XP中弹出可移动媒体"。本文最有趣的部分引述如下:
Andreas的答案,MSKB文章以及我对Explorer的API嗅探可总结如下: 最后,我决定遵循MSKB文章中概述的过程,因为它似乎是最彻底,最完整的过程,并附有MSKB文章。 要关闭驱动器托盘,请执行此处所述的操作,而不是将DeviceIoControl与IOCTL_STORAGE_EJECT_MEDIA结合使用,而需要通过IOCTL_STORAGE_LOAD_MEDIA调用DeviceIoControl。 Nircmd是一个非常方便的免费软件命令行实用程序,具有多种选项,包括打开和关闭CD托盘。 |