用MCI命令,详见mmSystem单元
判断光驱状态并使其弹出关闭:
program cdinout;
uses mmSystem;
var
MCIO : TMCI_Open_Parms;
MCIS : TMCI_Status_Parms;
begin
MCIO.lpstrDeviceType := PChar(MCI_DEVTYPE_CD_AUDIO);
if mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE or MCI_OPEN_TYPE_ID or
MCI_OPEN_SHAREABLE, LongInt(@MCIO) )= 0 then
begin
MCIS.dwItem := MCI_STATUS_READY;
mciSendCommand(MCIO.wDeviceID, MCI_STATUS, MCI_STATUS_ITEM
or MCI_WAIT, LongInt(@MCIS));
if MCIS.dwReturn<> 0 then
mciSendCommand(MCIO.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0)
else
mciSendCommand(MCIO.wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
mciSendCommand(MCIO.wDeviceID, MCI_CLOSE, MCI_WAIT, 0);
end;
end.
判断光驱状态并使其弹出关闭:
program cdinout;
uses mmSystem;
var
MCIO : TMCI_Open_Parms;
MCIS : TMCI_Status_Parms;
begin
MCIO.lpstrDeviceType := PChar(MCI_DEVTYPE_CD_AUDIO);
if mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE or MCI_OPEN_TYPE_ID or
MCI_OPEN_SHAREABLE, LongInt(@MCIO) )= 0 then
begin
MCIS.dwItem := MCI_STATUS_READY;
mciSendCommand(MCIO.wDeviceID, MCI_STATUS, MCI_STATUS_ITEM
or MCI_WAIT, LongInt(@MCIS));
if MCIS.dwReturn<> 0 then
mciSendCommand(MCIO.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0)
else
mciSendCommand(MCIO.wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
mciSendCommand(MCIO.wDeviceID, MCI_CLOSE, MCI_WAIT, 0);
end;
end.
解决方案 »
- 在delphi中用ADO读取月excel数据时如某列大部分是数字时遇到汉字读不出来(在excel中已设为文本格式),请问怎么解决???急!!
- 用AppendRecord添加记录时,如何跳过'自动增加的字段ID'给其他字段赋值
- 如何将TREEVIEW中被选择的多个文件或目录拷贝到一个新的目录
- 如何把word文档转换成image图像文件
- 求螺旋方阵的算法
- 数据表修改出错,帮帮我!!谢谢了先
- 急!!!请问怎样简单的把同一页面上所有的tedit控件的内容清空???
- 用delphi开发asp组件,如何调试啊??痛苦中……
- 30+30=60!!!高手帮帮我。。。。。。。。。。。。
- 2000中有类似98中的msconfig的管理工具吗?如果没有,请问在注册表什么地方上是关于启动时加载软件的地方?//准程序员
- 又有问题请教(老封)
- 用windows api建立了一个隐藏窗口,从头到尾它将会收到系统的哪些消息?
procedure TfrmMain.Open_cdClick(Sender: TObject);
begin
mciexecute('open cdaudio alias cd');
mciexecute('set cd door open');
mciexecute('close cd');
end;procedure TfrmMain.close_cdClick(Sender: TObject);
begin
mciexecute('open cdaudio alias cd');
mciexecute('set cd door closed');
mciexecute('close cd');
end;
mciSendString('Set cdaudio door closed wait', nil, 0, handle)