利用下面的代码,可以判断某特定光盘是否放入了光驱:
myFile = new(xtra "fileio")
repeat with i = 67 to 90
set driverName = numtochar(i)
set a = driverName&":madebyys.dtm"
--这个madebyys.dtm是自己创建在光盘的一个独特文件,文件里面的内容可以是空的。
openfile(myfile,a,1)
if status(myfile) = 0 then
cdromPath = driverName&":"
add the searchPaths cdromPath
append the searchPaths,cdromPath&"data"
--这里还可以追加其他的路径,以便读取数据之用。
isgetcdrom = true
--标记光盘已经放如光驱中了。
end if
end repeat
上面的代码同样可以使用在多盘程序的场合。这个时候你可以在madebyys.htm里面写上光盘的ID号,然后通过读这个ID号码判断当前光驱中的光盘。换盘的时候读这个文件判断是否已经放入,这个时候你需要独立做一个movie,并且和主体程序都安装到用户硬盘上,主程序通过MIAW的方式调用这个movie,这个movie上面有确定和取消的按钮,通过点击按钮确定是否放入了要切换的光盘,程序如下:
on getwhatcd
myFile = new(xtra "fileio")
repeat with i = 67 to 90
set driverName = numtochar(i)
set a = driverName&":madebyys.dtm"
openfile(myfile,a,1)
if status(myfile) = 0 then
cdromPath = driverName&":"
classes = readFile(myfile)
closeFile(myfile)
whatcd = classes.line[1].word[1]
--*其实就是增加了这句代码,把光盘ID赋值给whatcd了。这里假定把记号设定到madebyys.dtm文件的第一行。
end if
end repeat
return value(whatcd)
end
如何判断某特定光盘是否放入光驱
发布: 2007-1-25 16:48 | 作者: amith | 来源: aougu.net | 查看: 288次
