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

问题描述

| 我在C#中有一个DVD阅读和刻录应用程序。我希望能够检测到空驱动器(无磁盘)和打开的驱动器之间的差异。 编辑:经过更多的谷歌搜索后,我认为一个更好的问题描述是“我想访问驱动器托盘状态-打开或关闭” 我可以用
ManagementObjectSearcher(\"SELECT * FROM Win32_LogicalDisk WHERE DriveType= 5\")
查找系统中所有的DVD驱动器,并且属性告诉我驱动器中是否有磁盘。
Access
属性告诉我是否有空白磁盘。 但是,当驱动器打开时,以及在驱动器关闭并为空时,
Access
为空。而且,当驱动器打开或关闭时,我看不到任何其他更改的属性。 有人知道将打开的驱动器与关闭的空驱动器区分开的方法吗? 我正在使用Win7,但理想情况下,该解决方案也可以在XP和Vista上运行。     

解决方法

        MediaLoaded属性(Win32_CDROMDrive)将告诉您是否已装入光盘。我有点困惑您在寻找什么: 磁盘托盘打开 磁盘托盘已关闭-无介质 磁盘托盘已关闭-有介质 MediaLoaded属性将在情况2(假)和情况3(真)下提供帮助     ,        IOCTL_DISK_GET_LENGTH_INFO可能对您有用。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...