C#如何判断DVD驱动器托盘是否打开? - 代码日志

C#如何判断DVD驱动器托盘是否打开?

我有一个DVD阅读和刻录应用程序在C#。我想要检测空驱动器(无盘)和打开的驱动器之间的区别。

编辑:经过一些更多的搜索,我认为一个更好的问题描述是“我想访问驱动器托盘状态 – 打开或关闭”

我可以用

ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk WHERE DriveType= 5")

找到系统中的所有dvd驱动器,属性告诉我驱动器中是否有磁盘。访问属性告诉我是否有空白磁盘。

但是当驱动器打开时,驱动器关闭并且为空时,Access为null。而当驱动器打开或关闭时,我看不到任何其他属性会发生更改。

任何人都知道将开放驱动器与封闭的空驱动器区分开来的方法?

我正在使用Win7,但理想情况下,该解决方案也可以在XP和Vista上工作。

MediaLoaded属性(Win32_CDROMDrive)将告诉您是否加载了光盘。我有点困惑你正在寻找:

>磁盘托盘打开
>磁盘托盘关闭 – 无媒体
>盘托盘关闭 – 有媒体

MediaLoaded属性将帮助在情况2(False)和3(True)

http://stackoverflow.com/questions/6341737/c-sharp-how-to-tell-if-dvd-drive-tray-is-open

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:C#如何判断DVD驱动器托盘是否打开?