📄 打开指定光驱.txt
字号:
我想打开我指定的光驱!
而不是系统默认的第一个光驱!比方 我有两个光驱我要打开第二个!
请那位高手指点!!! 谢谢!
来自:江西的delphi, 时间:2003-11-1 13:41:00, ID:2266819
开
function EjectCD(Drive : char) : bool;
var
mp : TMediaPlayer;
begin
result := false;
Application.ProcessMessages;
//if not IsDriveCD(Drive) then exit;
mp := TMediaPlayer.Create(nil);
mp.Visible := false;
mp.Parent := Application.MainForm;
mp.Shareable := true;
mp.DeviceType := dtCDAudio;
mp.FileName := Drive + ':';
mp.Open;
Application.ProcessMessages;
mp.Eject;
Application.ProcessMessages;
mp.Close;
Application.ProcessMessages;
mp.free;
result := true;
end;
注意:use mplayer
来自:江西的delphi, 时间:2003-11-1 13:42:00, ID:2266821
uses mmSystem;
procedure CDRomOpen(bOpenDrive:boolean; cDrive:char); //uses mmSystem
var open:MCI_OPEN_PARMS;
status:MCI_STATUS_PARMS;
flags:dword;
szDriveName:array[0..3]of char;
begin
strcopy(szDriveName,'?:');
ZeroMemory(@open,sizeof(MCI_OPEN_PARMS));
open.lpstrDeviceType:=LPCSTR(MCI_DEVTYPE_CD_AUDIO);
szDriveName[0]:=cDrive;
open.lpstrElementName:=szDriveName;
flags:=MCI_OPEN_TYPE or MCI_OPEN_TYPE_ID or MCI_OPEN_ELEMENT or MCI_OPEN_SHAREABLE;
if mciSendCommand(0,MCI_OPEN,flags,LongWord(@open))=0 then
begin
status.dwItem:=MCI_STATUS_READY;
if (bOpenDrive) then
mciSendCommand(open.wDeviceID,MCI_SET,MCI_SET_DOOR_OPEN,0)
else
mciSendCommand(open.wDeviceID,MCI_SET,MCI_SET_DOOR_CLOSED,0);
mciSendCommand(open.wDeviceID,MCI_CLOSE,MCI_WAIT,0);
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
CDRomOpen(true,'I'); // open cd
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
CDRomOpen(false,'I'); // Close cd
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -