WEB开发网
开发学院软件开发VB 用API函数控制光驱的开关 阅读

用API函数控制光驱的开关

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

  CDdoor函数是安装WINDOWS时所自带的winmm.dll文件中包含的函数,我们只须先加入如下的声明后就能引用这个API函数:

->PRivateDeclareFunctionCDdoorLib"winmm.dll"Alias"mciSendStringA"_
   (_
   ByVallpstrCommandAsString,_      String,这是控制命令参数
   ByVallpstrReturnStringAsString,_    String,这是返回值
   ByValuReturnLengthAsLong,_       Long,返回值长度参数
   ByValhwndCallbackAsLong_
   )AsLong->


  引用的语法是:

->CallCDdoor("setCDAudiodoorclosed",0,0,0)  用以关闭光驱门

CallCDdoor("setCDAudiodooropen",0,0,0)   用以打开光驱门->

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

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

  为了学习方便,以下提供了源代码并附详细的中文注释:

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

OptionExplicit
'说明:CDdoor函数是安装WINDOWS时所自带的winmm.dll文件中包含的函数
PrivateDeclareFunctionCDdoorLib"winmm.dll"Alias"mciSendStringA"_
(_
ByVallpstrCommandAsString,_
ByVallpstrReturnStringAsString,_
ByValuReturnLengthAsLong,_
ByValhwndCallbackAsLong_
)AsLong

'CDOpen用来标示光驱开与关的状态
DimCDOpenAsBoolean

PrivateSubCommand1_Click()
OnErrorResumeNext

'如果关闭则打开,并且按钮做相应变化
IfCDOpen=FalseThen
CallCDdoor("setCDAudiodooropen",0,0,0)
CDOpen=True
Command1.Caption="点击关闭光驱"
Else
'否则关闭
CallCDdoor("setCDAudiodoorclosed",0,0,0)
CDOpen=False
Command1.Caption="点击打开光驱"
EndIf
EndSub

PrivateSubForm_Load()
CDOpen=False
CallCDdoor("setCDAudiodoorclosed",0,0,0)
EndSub->
->

Tags:API 函数 控制

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接