![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
![]()
Как проверить открыт CDRom или закрыт
шарился в справке win32sdk.hlp по MMSystem но не нашел что нужно
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
![]() |
![]() |
![]() |
#2 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]()
однозначного решения нет. можно исходить из того что специально закрыть его, и уже потом "плясать" от того что точно CD-ROM закрыт и при надобности открыть его.
|
![]() |
![]() |
![]() |
#3 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Решение есть, т.к. некоторые либы типа basscd умеют это правильно определять. Печенью чувствую - чёта с IOCTL, но что конкретно даже не представляю
![]()
пыщь
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
![]()
а если отправить комманду открытия, когда он открыт, или закрытия, когда он закрыт, и проверить на ошибки, в зависимости оттго удалась ли операция или нет, решать выполнить или нет противоположную. Или при отсылании комманды на CDRom, когда он уже закрыт или открыт, нет ошибок, и так не получится?
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
![]() |
![]() |
![]() |
#5 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Может конечно и получится, но хотелось бы знать состояние привода без изменения его состояния (ну вообщем вы поняли
![]()
пыщь
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
![]()
Мне вроде рассказали про способ с WM_DEVICECHANGE
по идее нужно просто обработать в очереди любого окна это сообщение (ловушку не надо, вроде), но не работает вот мой незатейливый алгоритм для того, чтобы клавиатурный шпион работал нормально, регистрю и создаю, но не показываю, невидимое окно и на сообщении о создании устанавливаю ловушку, на об уничтожении убираю, добавляю в case оконной процедуры WM_DEVICECHANGE Код:
Код:
но беда в том, что CDState как был false так и остался, несмотря на выдвижение лотка Подскажите в чем может быть ошибка
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
![]() |
![]() |
![]() |
#7 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Код может и верный, но WM_DEVICECHANGE реагирует на открытие/закрытие лотка только если там есть диск
пыщь
|
![]() |
![]() |
![]() |
#8 | |
C# developer
Форумчанин
Регистрация: 03.10.2007
Сообщений: 393
|
![]() Цитата:
Код:
I like WPF
|
|
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
![]() Цитата:
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
|
![]() |
![]() |
![]() |
#10 | |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Приходит если открыть или закрыть дисковод, когда там есть диск.
Цитата:
пыщь
Последний раз редактировалось JTG; 20.12.2007 в 13:47. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Узнать состояние подключения | Hottabych | Работа с сетью в Delphi | 8 | 03.03.2008 18:10 |
сделать так, чтобы ProgressBar показывал состояние копирования папки | wolk | Компоненты Delphi | 3 | 23.03.2007 23:25 |