Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.10;
Скачать: CL | DM;

Вниз

состояние лотка у CD   Найти похожие ветки 

 
ASd   (2004-07-30 20:33) [0]

Как определить состояние лотка у CD т.е. открат или закрыт


 
Кириешки ©   (2004-07-30 20:42) [1]

Uses MMSystem.

это для мозгов
{mciSendString("Set cdaudio Door Open Wait", nil, 0, handle);
mciSendCommand(mp.DeviceID, MCI_SET, MCI_SET_DOOR_CLOSED,0);}

Для закрытия CD-ROMа:
mciSendString("Set cdaudio door closed wait", nil, 0, handle);
Для открытия CD-ROMа:
mciSendString("Set cdaudio door open wait", nil, 0, handle);


 
ASd   (2004-07-30 20:45) [2]

Читай внимательнее! не отрыть и закрыть а определить всунут или высунут!!!!


 
Кириешки ©   (2004-07-30 20:56) [3]

>ASd   (30.07.04 20:45) [2]

Орать не надо. If mciSendCommand(mp.DeviceID, MCI_SET, MCI_SET_DOOR_CLOSED,0) then
Ну или что-то в этом духе. Мозги есть? Додумай сам.


 
michael   (2004-08-02 14:58) [4]

If mciSendCommand(mp.DeviceID, MCI_SET, MCI_SET_DOOR_CLOSED,0) then
Это работать врят-ли будет.


 
grom   (2004-08-02 18:41) [5]

определить состояние лотка у CD
если на лотке есть диск = if GetVolumeInformation()then ...
если на лотке нет диска никак скорей всего.


 
KSergey ©   (2004-08-02 18:58) [6]

> ASd   (30.07.04 20:33)  

Ответ "НЕЛЬЗЯ!" есть во всех FAQ, в том числе и на этом сайте (во всяком случае в некогда обсуждаемом)


 
[lamer]Barmaglot ©   (2004-08-03 17:32) [7]

то KSergey ©   (02.08.04 18:58) [6]

Можно, но под НТ... Пример был на этом сайте...Некоторые говорят что у них и под 98 работает, незнаю врать не буду...


 
OSokin ©   (2004-08-31 20:15) [8]

Чтобы проверить, находится ли диск в приводе, нужно использовать функцию "GetDiskFreeSpace(pchar(disk+":\"),a,a,a,a);", где "disk" - это название диска, а "a" - переменная типа cardinal. Если функция возвращает false, то диска в приводе нет.


 
GuAV ©   (2004-08-31 21:14) [9]


> то диска в приводе нет.

не сюда, надо

> определить всунут или высунут!!!!


 
Anatoly Podgoretsky ©   (2004-08-31 21:44) [10]

Для начала не мешало бы опрелеоить - а есть ли дверца (лоток)?


 
GuAV ©   (2004-08-31 21:55) [11]


> Для начала не мешало бы опрелеоить - а есть ли дверца (лоток)?

У "виртуального" нет и его можно и всунуть и выунуть. Так что проверять наличие не обязательно.


 
Anatoly Podgoretsky ©   (2004-08-31 22:04) [12]

Про физические говорю


 
OSokin ©   (2004-09-01 20:00) [13]

GuAV ©   (31.08.04 21:14) [9]
Но ведь работает!


 
GuAV ©   (2004-09-01 22:47) [14]


> Но ведь работает!

А таки да. Дело в том, что

> открат или закрыт

и
> всунут или высунут!!!!

разнеые вопросы.
открат или закрыт - см Anatoly Podgoretsky ©   (31.08.04 21:44) [10]
всунут или высунут - см OSokin ©   (31.08.04 20:15) [8]


 
TeNY ©   (2004-09-06 11:05) [15]

И всё же как?


 
Rouse_ ©   (2004-09-06 11:53) [16]

Давно было обсуждени и в прошлый раз остановились на следующем.
При старте программы посылать команду закрытия лотка и после отлавливать его открытие - закрытие следующим кодом:

procedure CD(var Msg: TMessage); message WM_DEVICECHANGE;

...

procedure TForm1.CD(var Msg: TMessage);
begin
 case Msg.WParam of
   32772: Caption := "Open";
   32768: Caption := "Close";
 else
   Caption := "Unknown";
 end;
end;


 
DVM ©   (2004-09-06 21:57) [17]


> Rouse_ ©   (06.09.04 11:53) [16]

Да, точно, похоже это единственный правильный способ. (если удалось задвинуть)

Хотя точно знаю, что можно определить через Adaptec ASPI. Я там в какой то структуре видел поле за состояние лотка отвечающее.


 
Rouse_ ©   (2004-09-07 09:24) [18]

> Хотя точно знаю, что можно определить через Adaptec ASPI.
Нууу это спорный вопрос. Не уверен что сидиром сам знает в каком состоянии у него лоток :) (В смысле чтобы оповестить об этом внешнее приложение или драйвер). По крайней мере AFAIK часть моделей этого точно сделать не в состоянии :) Кто-то приводил тут примеры...



Страницы: 1 вся ветка

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.023 c
14-1094827567
Anatoly Podgoretsky
2004-09-10 18:46
2004.10.10
Об учебе в России.


1-1095743995
leonidus
2004-09-21 09:19
2004.10.10
Вопрос по созданию класса


1-1096012511
Pine
2004-09-24 11:55
2004.10.10
Как построить в D7 исполняемый файл с BDE 5.01?


1-1095828547
_sulent
2004-09-22 08:49
2004.10.10
Шрифт


8-1090282405
Sky Knight
2004-07-20 04:13
2004.10.10
Микрофон вкл/выкл