使用api函数cddoor来控制光驱门的开和关十分简单 cddoor函数是安装windows时自带的winmm.dll文件中包含的 private declare function cddoor lib "winmm.dll" alias "mcisendstringa" (byval ipstrcommand as string,_控制命令参数 byval ipstrreturnstring as string ,byval ureturnlength as 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) 用以打开光驱门
Private Sub ExitCdRom_Click(Index As Integer) Dim Ret As Long Dim RetStr As String Ret = mciSendString("set CDAudio door open", RetStr, 0, 0) End Sub Private Sub CloseCdRom_Click(Index As Integer) On Error Resume Next result = mciSendString("set CDAudio door closed", ReturnString, 127, 0) End Sub
http://www.comprg.com.cn/wz048.htm
还有一个问题,是接着我上一个问题的,就是光盘已经“假”退出了,里面的文件也不能访问了,这时怎样能刷新光驱让他又能读了
cddoor函数是安装windows时自带的winmm.dll文件中包含的
private declare function cddoor lib "winmm.dll" alias "mcisendstringa"
(byval ipstrcommand as string,_控制命令参数
byval ipstrreturnstring as string ,byval ureturnlength as 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) 用以打开光驱门
如果哪位朋友有解决的方法,请email我,谢谢
[email protected]我的想法是,让光盘插入后,我的程序发现光盘序列号不是允许的光盘列表中的号,就让资源管理器不能访问光盘的盘符,算帐了
Dim Ret As Long
Dim RetStr As String
Ret = mciSendString("set CDAudio door open", RetStr, 0, 0)
End Sub
Private Sub CloseCdRom_Click(Index As Integer)
On Error Resume Next
result = mciSendString("set CDAudio door closed", ReturnString, 127, 0)
End Sub
http://www.csdn.net/develop/read_article.asp?id=3487