程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 用API函數控制光驅的開關

用API函數控制光驅的開關

編輯:VB綜合教程
使用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->->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved