Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить выдвинут ли лоток CD [D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]


Denisss ©   (2004-10-12 17:32:00) 

Давно интересен мне такой вот вопрос: как с помощью API функций можно определить выдвинут ли лоток CD-ROM'a или же он задвинут.
Если у кого есть исходники на VC++ или же Delphi, то буду очень рад.


DVM   (2004-10-14 20:47:00) [1]


> Можно. См. ASPI, это делает одна из основных его функций.
> На rsdn, кажется, валялся пример, но лучше скачай доку по
> ASPI и почитай.
> Удачи

Я тоже так думал пока не попробовал на разных приводах.
Да там есть, но и та функция не всегда в состоянии определить положение лотка. Сам привод зачастую не знает, в каком состоянии у него лоток. Хотя бы потому, что у некоторых приводов лотка нет вообще.

> В WinXP нет ASPI смотри описание MCI (Multemidia Control
> Interface)

Но легко ставится вместе с программой.


Nick Denry   (2004-10-14 19:32:00) [2]

Я ветку не нашел :(


Иван Ширко   (2004-10-14 13:34:00) [3]

>В WinXP нет ASPI
обычно ASPI ставится вместе с прогой, для NT-систем лучше использовать SPTI (определение лотка там тоже должно быть).
Хотя использовать MCI тоже можно.


tesseract   (2004-10-14 13:07:00) [4]

В WinXP нет ASPI смотри описание MCI (Multemidia Control Interface)


Иван Ширко   (2004-10-14 12:18:00) [5]

>>Этого определеть в принципе нельзя

Можно. См. ASPI, это делает одна из основных его функций.
На rsdn, кажется, валялся пример, но лучше скачай доку по ASPI и почитай.
Удачи


Nick Denry   (2004-10-14 00:08:00) [6]

2Denisss ©   (13.10.04 22:53) [3]
2DVM ©   (13.10.04 23:58) [4]

Была ветка с подробным обсуждением вопроса, не помню чем там все кончилось, но на винте есть - завтра посмотрю...


DVM   (2004-10-13 23:58:00) [7]


> Вообще, мне кажется, что определить возможно: некоторые
> программы это умеют делать.

Хоть одну назови. Этого не сумел сделать даже MS, а это говорит о многом. Этот вопрос всплывал тут много раз и в результате всегда сходились на том, что я там выше написал.


Denisss   (2004-10-13 22:53:00) [8]

2 Nick Denry: Если выполнить так, как ты сказал, то функция вовсе не возвращает ошибки... (Если только привод не заблокирован).
Вообще, мне кажется, что определить возможно: некоторые программы это умеют делать.


DVM   (2004-10-12 23:47:00) [9]

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


Nick Denry   (2004-10-12 18:01:00) [10]

Этого определеть в принципе нельзя. можно определить 2 вещи:

1. Есть ли диск в приводе.

2. Открыть  либо закрыть дверцу и посмотреть результат возвращаемый ф-цией, если он "failed" - следовательно состояние противоположное.


Наверх

Титульная страница Поиск, карта сайта Написать письмо