用API函数控制光驱的开关
2008-02-23 06:51:54来源:互联网 阅读 ()
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,我们会在另外一个实例中介绍。
为了学习方便,以下提供了源代码并附详细的中文注释:
'-------------------------------------------
' 利用API函数控制光驱的开和关
'-------------------------------------------
'程序说明:
' 本例使用API函数 CDdoor 来控制光驱门的开和关程序十分简单,由于 CDdoor 函数自身包含了对异常错误的处理机制,因此这个程序的通用性很高,你可以把这段代码移植到你的程序中,实现某些多媒体播放器所常用的开关光驱的功能。
'-------------------------------------------
Option Explicit
'说明:CDdoor函数是安装WINDOWS时所自带的winmm.dll文件中包含的函数
Private Declare Function CDdoor Lib "winmm.dll" Alias "mciSendStringA" _
( _
ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, _
ByVal hwndCallback As Long _
) As Long
'CDOpen用来标示光驱开与关的状态
Dim CDOpen As Boolean
Private Sub Command1_Click()
On Error Resume Next
'如果关闭则打开,并且按钮做相应变化
If CDOpen = False Then
Call CDdoor("set CDAudio door open", 0, 0, 0)
CDOpen = True
Command1.Caption = "点击关闭光驱"
Else
'否则关闭
Call CDdoor("set CDAudio door closed", 0, 0, 0)
CDOpen = False
Command1.Caption = "点击打开光驱"
End If
End Sub
Private Sub Form_Load()
CDOpen = False
Call CDdoor("set CDAudio door closed", 0, 0, 0)
End Sub
上一篇: VB 从零开始编外挂(七)
下一篇: VB 从零开始编外挂(六)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash