我在C#中有一个DVD读取和刻录应用程序。我希望能够检测空驱动器(没有磁盘)和打开驱动器之间的差异。
编辑:经过更多的谷歌搜索,我认为更好的问题描述是"我想访问驱动器托盘状态-打开或关闭"
我可以使用
ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk WHERE DriveType= 5")
查找系统中的所有dvd驱动器,属性会告诉我驱动器中是否有磁盘。Access
属性告诉我是否存在空白磁盘。
但当驱动器打开时,以及当驱动器关闭且为空时,Access
为空。当驱动器打开或关闭时,我没有看到任何其他属性发生变化。
有人知道如何区分打开的驱动器和关闭的空驱动器吗?
我使用的是Win7,但理想情况下,该解决方案也适用于XP和Vista。
MediaLoaded属性(Win32_CDROMDrive)将告诉您是否已加载光盘。我有点困惑你在找什么:
- 磁盘托盘打开
- 磁盘托盘关闭-没有介质
- 磁盘托盘关闭-有介质
MediaLoaded属性将在情况2(False)和3(True)