找回密码
 加入
搜索
查看: 2186|回复: 12

CDTray控制光驱问题,请大家指教,谢谢

[复制链接]
发表于 2009-6-13 14:24:47 | 显示全部楼层 |阅读模式
本帖最后由 ytxldc 于 2009-6-13 19:43 编辑

CDTray函数可以控制指定的光驱弹出和关闭,但不同的电脑光驱盘符不一样,能不能自动识别光驱盘符并控制其弹出和关闭呢?谢谢大家!
发表于 2009-6-13 15:11:42 | 显示全部楼层
可以利用DriveGetDrive 自动识别
--------------------------------------------------------------------------------
DriveGetDrive ( "类型" )
返回一个含有指定驱动器盘符的数组

要获得的驱动器类型:
"ALL(全部)", "CDROM(光驱)", "REMOVABLE(可移动驱动器)", "FIXED(固定驱动器)", "NETWORK(网络驱动器)", "RAMDISK(内存盘)", or "UNKNOWN(未知类型)"
$var = DriveGetDrive( "CDROM" )
If NOT @error Then
        MsgBox(4096,"", "找到 " & $var[0] & " 个CDROM")
        For $i = 1 to $var[0]
                MsgBox(4096,"" ,$i&':CDROM盘符:'& $var[$i])
                CDTray($var[$i], "open")
                Sleep(2000)
                CDTray($var[$i], "closed")
        Next
EndIf
发表于 2009-6-13 16:28:04 | 显示全部楼层
楼上正解,不过弹出来,又弹进去,给个命令选择不
 楼主| 发表于 2009-6-13 16:31:48 | 显示全部楼层
谢谢,直接复制你的代码用就行了吗?怎么运行时报错
发表于 2009-6-13 16:32:56 | 显示全部楼层
这里可以,除非你没光驱
发表于 2009-6-13 16:33:25 | 显示全部楼层
报什么错,记得发图,你不发,不说,怎么知道你出现什么问题
发表于 2009-6-13 16:37:08 | 显示全部楼层
楼上正解,不过弹出来,又弹进去,给个命令选择不
kn007 发表于 2009-6-13 16:28


你自己弄一个GUi,添几个按钮不就行了
发表于 2009-6-13 16:37:59 | 显示全部楼层
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 313, 156, 192, 124)
$Button1 = GUICtrlCreateButton("打开光驱", 56, 48, 83, 41, $WS_GROUP)
$Button2 = GUICtrlCreateButton("关闭光驱", 160, 48, 83, 41, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                    _open()
                Case $Button2       
                   _closed()
     EndSwitch
WEnd

Func _open()
$var = DriveGetDrive( "CDROM" )
If NOT @error Then
    For $i = 1 to $var[0]
        CDTray($var[$i], "Open")
    Next
EndIf
EndFunc

Func _closed()
        $var = DriveGetDrive( "CDROM" )
If NOT @error Then
    For $i = 1 to $var[0]
        CDTray($var[$i], "closed")
    Next
EndIf
EndFunc
发表于 2009-6-13 16:46:37 | 显示全部楼层
楼上的谢谢了
 楼主| 发表于 2009-6-13 19:42:49 | 显示全部楼层
可以了,辛苦大家了,谢谢!!!
发表于 2009-6-13 19:56:25 | 显示全部楼层
不错学习了
发表于 2010-9-7 17:53:35 | 显示全部楼层
不错学习了
发表于 2010-12-7 20:37:11 | 显示全部楼层
我也学到了.哈哈谢谢啊.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-23 04:32 , Processed in 0.070861 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表