![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить выдвинут ли лоток 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" - следовательно состояние противоположное.