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

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

Как узнать состояние лотка CD-ROM?


Страницы:   1 2 3

BPK ©   (2003-02-17 23:00:00) 

Открыть и закрыть дверцу CD-ROM это хорошо. Таких советов навалом в Сети (причём подавляющее большинство - с использованием MCI, а не WinAPI).
Только вот никто не может сказать, как узнать, открыта ли в данный момент эта дверца.


Беспечный Ангел   (2003-02-18 15:08:00) [41]


> или использовать Delphi 8, в которой по умолчанию включена
> поддержка этих функций

Но ведь в ранних версиях делфи можно дать комманду DELPHI_8.FUNCTION:=ENABLE; и не надо никаких сервис-паков!!! Вот тока в 9 делфи это почему-то не работает... ;)
Мне вот еще интересно, какое значение вернет функция COFFEE_CUP_HOLDER_GET_CUP_GEOMETRY для пепельницы, чашки с/без кофе и для пожеванных дисков... ;)


AGGRESSOR   (2003-02-18 13:18:00) [42]


> Zhenka ©

Ну вы, блин, даете! :)
Кстати, не забудь написать, что для того, чтобы воспользоваться этими замечательными функциями, нужно установить сервис-пак для ОС, доступный по адресу www.microsoft.com/support/dummy.html
(для русскоязычной винды www.microsoft.ru/files/chainik.asp) или использовать Delphi 8, в которой по умолчанию включена поддержка этих функций.


Zhenka   (2003-02-18 09:45:00) [43]

ещё вот
======
А как определить есть ли на выдвинутом лотке диск или лоток
пустой?
Ответ:
Довольно сложная операция. На помощь придет функция
CoffeeCupHolderInfo(driveLetter: char; info: word): word; Ее параметры
аналогичны параметрам TrayDeviceInfo(). Передав в качестве info
значение COFFEE_CUP_HOLDER_GET_CUP_MASS, вы получите в результате массу положенного на лоток груза.
Если на лотке лежит диск то вы получите значение больше 0.
Этот метод обнаружит не только диск но и любую другую нагрузку на лоток.
Если же необходимо точно утверждать что лежит именно диск, пользуйтесь info COFFEE_CUP_HOLDER_GET_CUP_GEOMETRY. В качестве результата будет получен уникальный идентификатор формы объекта, лежащего на лотке. Для стандартных CD-дисков он обычно равен 876 - 891.
Однако если на лотке лежит не стандартный диск (погнутый или немного поцарапанный) то вы получите совершенно другой результат функции и поэтому этот метод тоже на 100% не гарантирует точность распознавания диска на лотке.


Zhenka   (2003-02-18 09:32:00) [44]

Пользуйтесь API - функцией
TrayDeviceInfo(driveLetter: char; info: word): word;
в качестве параметров передавайте
driveLetter - буква диска,
info - TRAY_DEVICE_INFO_GET_TRAY_OPEN_STATUS.
Возвращаемые значения: 0 - закрыт, 1 - открыт, 2 - лоток
заело, 3 - лоток сломан.
===========================
А как узнать есть лоток или нет?
Ответ: Та же функция TrayDeviceInfo() (см. выше) возвратит
код ошибки
ERROR_TRAY_DEVICE_NO_TRAY при попытке применения к
устройству CD-ROM и др. без лотка.


Страницы:   1 2 3

Наверх

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