用API函数控制光驱的开关

发布时间:2016年2月26日 作者:未知 查看次数:1221

转:

使用API函数CDdoor 来控制光驱门的开和关程序十分简单,由于 CDdoor 函数自身包含了对异常错误的处理机制,因此这个程序的通用性很高,你可以把这段代码移植到你的程序中,实现某些多媒体播放器所常用的开关光驱的功能。

CDdoor函数是安装WINDOWS时所自带的winmm.dll文件中包含的函数,我们只须先加入如下的声明后就能引用这个API函数:
  Private Declare Function CDdoor Lib "winmm.dll" Alias "mciSendStringA" _
   ( _
   ByVal lpstrCommand As String, _       String,这是控制命令参数
   ByVal lpstrReturnString As String, _    String,这是返回值
   ByVal uReturnLength As Long, _       Long,返回值长度参数
   ByVal hwndCallback As Long _
   ) As Long

  引用的语法是:Call CDdoor("set CDAudio door closed", 0, 0, 0)  用以关闭光驱门

         Call CDdoor("set CDAudio door open", 0, 0, 0)   用以打开光驱门

  程序中使用了一个布尔型变量来标示当前光驱门开与关的状态。

  如果配合检测光驱是否存在的函数一起使用,此程序的通用性会更高。而关于检测驱动器信息的函数GetDriveType,GetLogicalDrives,我们会在另外一个实例中介绍。

 

===================================

 

VC中使用mciSendStringA函数,要在Project->Settings->Link->Object/library modules(Project Options)中添加多媒体函数库winmm.lib,在源码头加上#include <mmsystem.h>引用。

打开光驱门:mciSendStringA("set CDAudio door open", 0, 0, 0);

关闭光驱门:mciSendStringA("set CDAudio door closed", 0, 0, 0);

 



版权所有!www.sieye.cn
E.Mail:sieye@sohu.com QQ:66697110