判断光驱状态
想写一个双击程序便能打开光驱,再双击便能关闭光驱。如此反复$driv = DriveGetDrive("cdrom")
CDTray($driv,"open")
应该怎样判断光驱现在是打开还是关闭状态?从而执行打开光驱或关闭光驱
[ 本帖最后由 风行者 于 2009-1-29 00:50 编辑 ] 你无论他是打开还是关闭,都给来先来一句CLOSE 好了啊 不行啊,有没有其他方法啊 我机器上没光驱 没办法测试
DriveStatus
没关上 应该是返回NOTREADY 你试试 还是不行没有反应,无论关闭或打开返回的字符串都是NOTREADY
[ 本帖最后由 风行者 于 2008-12-27 00:03 编辑 ] 测试的确返回NOTREADY 原帖由 大绯狼 于 2008-12-27 11:35 发表 http://www.autoitx.com/images/common/back.gif
测试的确返回NOTREADY
本是过路人,看到楼上签名,特地回帖:face (12): NOTREADY 通常是未含任何媒体的软驱或CD驱动器。 一个打开,一个关闭好了! 在网上搜索都是利用API实现的,au要怎样调用API啊?好像是这个dll,winmm.dll 三恨老家发现的 搬过来
_CdTray("g:","Open");打开光驱
_CdTray("g:","CLosed") ;关闭光驱
Func _CdTray($Drive,$flags)
DllCall("winmm.dll", "int", "mciSendString", "str", "Open " & $Drive & " Alias Drive" & $Drive & " Type CDAudio", "int", 0, "int", 0, "int", 0)
Switch $flags
Case"Open"
DllCall("winmm.dll", "int", "mciSendString", "str", "Set Drive" & $Drive & " Door Open", "int", 0, "int", 0, "int", 0)
Case"CLosed"
DllCall("winmm.dll", "int", "mciSendString", "str", "Set Drive" & $Drive & " Door Closed", "int", 0, "int", 0, "int", 0)
EndSwitch
EndFunc
[ 本帖最后由 sxd 于 2008-12-28 18:21 编辑 ] 上面的打开光驱后不够一秒就自动关闭了,真的没办法吗? 搜索了一下,说真的光驱的打开或者关闭状态并不好判断。。。
有个API可以判断光驱内是否有光盘的,可以这样将就判断下咯。。。
不过感觉还是不完美。 原帖由 风行者 于 2008-12-28 21:52 发表 http://www.autoitx.com/images/common/back.gif
上面的打开光驱后不够一秒就自动关闭了,真的没办法吗?
没办法,代码也看不明白!LZ你 原帖由 liongodmien 于 2008-12-29 14:44 发表 http://www.autoitx.com/images/common/back.gif
没办法,代码也看不明白!LZ你
不是看不明白 是没明白的看吧
页:
[1]
2