我在C#中有DVD阅读和刻录应用程序。我希望能够检测空驱动器(无磁盘)和打开驱动器之间的区别。
编辑:经过一些更多的谷歌搜索,我认为更好的问题描述是“我想访问驱动器托盘状态 - 打开或关闭”
我可以用
ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk WHERE DriveType= 5")
找到系统中的所有DVD驱动器,属性告诉我驱动器中是否有磁盘。 Access
属性告诉我是否有空白磁盘。
但是当驱动器打开,驱动器关闭并且为空时,Access
为空。当驱动器打开或关闭时,我看不到任何其他属性发生变化。
任何人都知道区分开放式驱动器与封闭式空载驱动器的方法吗?
我使用的是Win7,但理想情况下,该解决方案也适用于XP和Vista。
答案 0 :(得分:5)
MediaLoaded属性(Win32_CDROMDrive)将告诉您是否已加载光盘。我对你要找的东西感到有点困惑:
MediaLoaded属性将在案例2(False)和3(True)
中提供帮助答案 1 :(得分:1)
IOCTL_DISK_GET_LENGTH_INFO可能对您有用。