|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.12.2007, 13:47 | #1 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
состояние CDRom
Как проверить открыт CDRom или закрыт
шарился в справке win32sdk.hlp по MMSystem но не нашел что нужно
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
11.12.2007, 20:17 | #2 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
однозначного решения нет. можно исходить из того что специально закрыть его, и уже потом "плясать" от того что точно CD-ROM закрыт и при надобности открыть его.
|
12.12.2007, 11:15 | #3 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Решение есть, т.к. некоторые либы типа basscd умеют это правильно определять. Печенью чувствую - чёта с IOCTL, но что конкретно даже не представляю
пыщь
|
13.12.2007, 14:29 | #4 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
а если отправить комманду открытия, когда он открыт, или закрытия, когда он закрыт, и проверить на ошибки, в зависимости оттго удалась ли операция или нет, решать выполнить или нет противоположную. Или при отсылании комманды на CDRom, когда он уже закрыт или открыт, нет ошибок, и так не получится?
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
13.12.2007, 16:20 | #5 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Может конечно и получится, но хотелось бы знать состояние привода без изменения его состояния (ну вообщем вы поняли )
пыщь
|
18.12.2007, 06:09 | #6 |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
Мне вроде рассказали про способ с WM_DEVICECHANGE
по идее нужно просто обработать в очереди любого окна это сообщение (ловушку не надо, вроде), но не работает вот мой незатейливый алгоритм для того, чтобы клавиатурный шпион работал нормально, регистрю и создаю, но не показываю, невидимое окно и на сообщении о создании устанавливаю ловушку, на об уничтожении убираю, добавляю в case оконной процедуры WM_DEVICECHANGE Код:
Код:
но беда в том, что CDState как был false так и остался, несмотря на выдвижение лотка Подскажите в чем может быть ошибка
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
18.12.2007, 14:37 | #7 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Код может и верный, но WM_DEVICECHANGE реагирует на открытие/закрытие лотка только если там есть диск
пыщь
|
19.12.2007, 17:14 | #8 | |
C# developer
Форумчанин
Регистрация: 03.10.2007
Сообщений: 393
|
Цитата:
Код:
I like WPF
|
|
20.12.2007, 13:04 | #9 | |
Форумчанин
Регистрация: 23.09.2007
Сообщений: 147
|
Цитата:
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
|
|
20.12.2007, 13:39 | #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 |