Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Открыт или закрыт лоток CD ROM'а 
:(
    Опции темы
RST8
Дата 3.3.2007, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 8.12.2004

Репутация: 1
Всего: 1



Цитата(Злоумышленник @  19.2.2007,  09:38 Найти цитируемый пост)
А что, это тебе поможет ответить на вопрос  smile ? 


    Нет, конечно. У меня на клавиатуре есть такая кнопка, так вот одно нажатие открывает, последующее закрывает, удерживание в нажатом состоянии выводит диалог выбора cd привода. Но я по старинке открываю кнопкой на самом приводе, а закрываю толкнув лоток. Вот еслибы кнопкой еще и диск в лоток клался, то тогда от такой программы толк бы был, а так, есть ли смысл?
--------------------
Посадка, с места которой можно уйти на собственных ногах, считается удачной!
PM   Вверх
Злоумышленник
Дата 3.3.2007, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.9.2006

Репутация: -1
Всего: -3



RST8, а у меня нет такой клавы, а системник стоит почти сзади и кнопку открытия приходится нащупывать. К тому же я не люблю трогать системник лишний раз, чтобы он не замусоливался как у моеих всех знакомых. А прога висит в трэе и вид иконки зависит, есть ли в дисководе что-нить или нет, и в каком и пишет в подсказке заголовок диска ( их 2) - довольно удобно. Просьба не отвечать на этот пост.
PM   Вверх
Electrik
Дата 27.2.2008, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 27.2.2008

Репутация: нет
Всего: нет



Народ є рішення але воно не всім підійде, смисл такий відправляєте сд-рому команду закрити якщо проходить 0 мілісекунд то закритий якщо деяка н - кількість значить він закрився Якщо треба код напишіть викину 
PM MAIL   Вверх
Lau
Дата 28.2.2008, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 28.2.2008

Репутация: нет
Всего: нет



Цитата(Electrik @ 27.2.2008,  12:22)
Народ є рішення але воно не всім підійде, смисл такий відправляєте сд-рому команду закрити якщо проходить 0 мілісекунд то закритий якщо деяка н - кількість значить він закрився Якщо треба код напишіть викину

Плохо знаю украинский но смысл понял, так вот то что советуешь надо тестировать
Код

int main(int argc, char* argv[])
{
    HANDLE m_hDevice = NULL;
    BOOL dicresult = TRUE;
    DWORD dwDummy;
    DWORD i,Tick_Count = 0;

    
    m_hDevice = CreateFile( "\\\\.\\Z:",
        GENERIC_READ|GENERIC_WRITE,
        FILE_SHARE_READ | FILE_SHARE_WRITE,
        NULL,
        OPEN_EXISTING,
        0,
        NULL );
    
    
     for (i=0; i<100000; i++)
     {
         Tick_Count = GetTickCount();
         dicresult = DeviceIoControl(m_hDevice, IOCTL_STORAGE_LOAD_MEDIA, NULL, 
             0, NULL, 0, &dwDummy, NULL);
         Tick_Count =  GetTickCount() - Tick_Count;
         if (Tick_Count>100)
         {
             printf("TickCount=%d\n",Tick_Count, GetLastError());
         }
         Sleep(10);
     }



    if (INVALID_HANDLE_VALUE != m_hDevice) 
    {
        CloseHandle(m_hDevice);
    }
    
    return 0;
}

0 мс один проход занимает редко, а иногда если комп что-то делает может и по 2-3 секунды выполнять. Так что увы, не работает сей метод.
PM MAIL   Вверх
smartov
Дата 28.2.2008, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 1
Всего: 259



Lau, зато можно будет исходить из того что "теперь CD-ROM уж точно закрыт" smile
PM MAIL   Вверх
Lau
Дата 28.2.2008, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 28.2.2008

Репутация: нет
Всего: нет



Задача - Есть девайс на основе PC который нужно кормить DVD дисками, как диск вставили и задвинули с ним нужно что нибудь сделать, записать например что нибудь.
Уточнение: нотификация о монтировании диска от виндов приходит не стабильно, следовательно ее нужно исключить.
А теперь сделать софварную конопку которая выдивагает лоток и задвигает лоток (после завдижения сразу чего нибудь начинает делать)
И наконец различные ситуации
1. Лоток задвинут, диск внутри, идет запись нажали Eject и пользователь чего то сделал с диском, вынул или оставил нам не ведомо.
2. Дальше он может прессануть сам лоток он успешно задвиниться, нотификация не придет, состояние трэя потеряно, мы не знаем открыт ли он или закрыт.
3. Можно нажать конпку Insert/Eject еще раз скажем сработает Insert(мы не знаем состояния лотка и делаем на отъ@бись) а в реальности лоток был уже задвинут ручками, пользователь ждал в реальности Eject - косяк.
Вот как с этим боротся пока не ясно ... напрягать драйверописателей наших неохота, напрягать железячников чтоб они устанавливали на дейвайс датчики и хардварно мне сообщали тоже, пока ищу софварный путь.
PM MAIL   Вверх
smartov
Дата 28.2.2008, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 1
Всего: 259



Помнится с подобным долго бился. У меня правда задачи попроще были. Решения кроме "задвинуть, подождать 3 сек, и плясать от того, что задвинут" не нашел.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1162 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.