Страница: 1 |
Страница: 1 |
Вопрос: CD-ROM
Добавлено: 12.01.07 17:06
Автор вопроса: Stars
Есть 2 сидюка 1 G:\, 2 H:\
Как можно программно открать дисковод H:\
Pliz!!!
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
Stars
Вопросов: 41
Ответов: 239
Профиль | | #1
Добавлено: 12.01.07 17:33
Проблему решил, тема снята.
Номер ответа: 2
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #2
Добавлено: 12.01.07 17:38
Из DelphiWorld
interface
uses
Windows, SysUtils, MMSystem;
function CloseCD(Drive: Char): Boolean;
function OpenCD(Drive: Char): Boolean;
implementation
function OpenCD(Drive: Char): Boolean;
var
Res: MciError;
OpenParm: TMCI_Open_Parms;
Flags: DWord;
S: string;
 eviceID: Word;
begin
Result := false;
S := Drive + ':';
Flags := mci_Open_Type or mci_Open_Element;
with OpenParm do
begin
dwCallback := 0;
lpstrDeviceType := 'CDAudio';
lpstrElementName := PChar(S);
end;
Res := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
if Res <> 0 then
exit;
 eviceID := OpenParm.wDeviceID;
try
Res := mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0);
if Res = 0 then
exit;
Result := True;
finally
mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
end;
end;
function CloseCD(Drive: Char): Boolean;
var
Res: MciError;
OpenParm: TMCI_Open_Parms;
Flags: DWord;
S: string;
 eviceID: Word;
begin
Result := false;
S := Drive + ':';
Flags := mci_Open_Type or mci_Open_Element;
with OpenParm do
begin
dwCallback := 0;
lpstrDeviceType := 'CDAudio';
lpstrElementName := PChar(S);
end;
Res := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm));
if Res <> 0 then
exit;
 eviceID := OpenParm.wDeviceID;
try
Res := mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
if Res = 0 then
exit;
Result := True;
finally
mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm));
end;
end;
end.
Номер ответа: 3
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #3
Добавлено: 12.01.07 17:39
Эээх, не успел
Номер ответа: 4
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #4
Добавлено: 12.01.07 18:32
Как решил? У меня тоже возникал вопрос.
Номер ответа: 5
Автор ответа:
Djon
Вопросов: 61
Ответов: 471
Web-сайт:
Профиль | | #5
Добавлено: 12.01.07 18:43
Option Explicit
Private Declare Function mciSendString Lib "winmm.dll" Alias _
"mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString _
As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Private Sub Command1_Click()
mciSendString "Set CDAudio Door Open Wait", 0, 0, 0 ' извлеч
End Sub
Private Sub Command2_Click()
mciSendString "Set CDAudio Door Closed Wait", 0, 0, 0 'засунуть
End Sub
Номер ответа: 6
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #6
Добавлено: 12.01.07 20:17
В упор не вижу в твоем коде указания букв открываемых CD
Номер ответа: 7
Автор ответа:
SyavX
Вопросов: 25
Ответов: 149
Профиль | | #7
Добавлено: 12.01.07 20:58
lRetValue = mciSendString("set CDAudio!" & sDriveLetter & ": door closed wait", 0, 0, 0)
lRetValue = mciSendString("set CDAudio!" & sDriveLetter & ": door open wait", 0, 0, 0)
Номер ответа: 8
Автор ответа:
Stars
Вопросов: 41
Ответов: 239
Профиль | | #8
Добавлено: 12.01.07 23:59
Класный пример! Более простой чем у меня!!! Благодарен SyavX
Номер ответа: 9
Автор ответа:
Lion
ICQ: 367220539
Вопросов: 13
Ответов: 55
Web-сайт:
Профиль | | #9
Добавлено: 15.01.07 09:38
А вот еще.
Option Explicit
Public Declare Function mciSendString Lib "winmm.dll" _
Alias "mciSendStringA" _
 ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, _
ByVal hwndCallback As Long) As Long
'КОД ФОРМЫ'
Call mciSendString("Set CDAudio Door Open Wait", 0&, 0&, 0& 'Открыть CD-ROM'
Call mciSendString("Set CDAudio Door Closed Wait", 0&, 0&, 0& 'Закрыть CD-ROM'
Номер ответа: 10
Автор ответа:
Djon
Вопросов: 61
Ответов: 471
Web-сайт:
Профиль | | #10
Добавлено: 15.01.07 10:49
Lion
Посмотри пост 5.
Номер ответа: 11
Автор ответа:
Lion
ICQ: 367220539
Вопросов: 13
Ответов: 55
Web-сайт:
Профиль | | #11
Добавлено: 15.01.07 14:05
Djon, не заметил я ну что тут поделаешь...