ytxldc 发表于 2009-6-13 14:24:47

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

本帖最后由 ytxldc 于 2009-6-13 19:43 编辑

CDTray函数可以控制指定的光驱弹出和关闭,但不同的电脑光驱盘符不一样,能不能自动识别光驱盘符并控制其弹出和关闭呢?谢谢大家!

lynfr8 发表于 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 & " 个CDROM")
      For $i = 1 to $var
                MsgBox(4096,"" ,$i&':CDROM盘符:'& $var[$i])
                CDTray($var[$i], "open")
                Sleep(2000)
                CDTray($var[$i], "closed")
      Next
EndIf

kn007 发表于 2009-6-13 16:28:04

楼上正解,不过弹出来,又弹进去,给个命令选择不

ytxldc 发表于 2009-6-13 16:31:48

谢谢,直接复制你的代码用就行了吗?怎么运行时报错

kn007 发表于 2009-6-13 16:32:56

这里可以,除非你没光驱

kn007 发表于 2009-6-13 16:33:25

报什么错,记得发图,你不发,不说,怎么知道你出现什么问题

lynfr8 发表于 2009-6-13 16:37:08

楼上正解,不过弹出来,又弹进去,给个命令选择不
kn007 发表于 2009-6-13 16:28 http://www.autoitx.com/images/common/back.gif

你自己弄一个GUi,添几个按钮不就行了

lxz 发表于 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
      CDTray($var[$i], "Open")
    Next
EndIf
EndFunc

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

kn007 发表于 2009-6-13 16:46:37

楼上的谢谢了

ytxldc 发表于 2009-6-13 19:42:49

可以了,辛苦大家了,谢谢!!!

wher 发表于 2009-6-13 19:56:25

不错学习了

My2009 发表于 2010-9-7 17:53:35

不错学习了

chenronting 发表于 2010-12-7 20:37:11

我也学到了.哈哈谢谢啊.
页: [1]
查看完整版本: CDTray控制光驱问题,请大家指教,谢谢