Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2008, 19:07   #1
kontora
Пользователь
 
Регистрация: 05.03.2008
Сообщений: 11
По умолчанию Перехват "вытаскивания cd-rom"

Проблема такая.
есть оболочка для cd диска
она постоянно читает данные с cd диска

если вытащить диск при запущенной оболочке - выскакивает обычное windows сообщение об ошибке

вопрос такой:
как мне сделать перехват открытия cd-rom?
т.е. я хочу так:
если оболочка запущена и вытащили диск - то чтобы оболочка сама закрывалась
kontora вне форума Ответить с цитированием
Старый 05.03.2008, 21:51   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

http://www.programmersforum.ru/showthread.php?t=10760
http://www.programmersforum.ru/showthread.php?t=10025
Когда ж поиском-то пользоваться будете, ... ... ... !!!
mihali4 вне форума Ответить с цитированием
Старый 16.03.2008, 10:49   #3
kontora
Пользователь
 
Регистрация: 05.03.2008
Сообщений: 11
По умолчанию

всем спасибо

еще вопрос: как сделать чтобы cd диск всегда крутился (т.е. чтобы пользователь не ждал пока диск раскрутиться)
сейчас делаю просто - каждые 7 сек обращаюсь к случайному файлу на диске
kontora вне форума Ответить с цитированием
Старый 16.03.2008, 12:25   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
как сделать чтобы cd диск всегда крутился
А вам привод не жалко?
Умные люди специально писали процедуры, уменьшающие износ привода, а вы его убить поскорее хотите?
mihali4 вне форума Ответить с цитированием
Старый 16.03.2008, 12:29   #5
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Цитата:
как сделать чтобы cd диск всегда крутился
А зачем Вам это?
Цитата:
(т.е. чтобы пользователь не ждал пока диск раскрутиться)
помимо этого.
можно просто скопировать нужные файлы на HDD (как временные), а по окончанию удалить их.
Всё гениальное - просто!

Последний раз редактировалось Air; 16.03.2008 в 12:33.
Air вне форума Ответить с цитированием
Старый 16.03.2008, 15:40   #6
kontora
Пользователь
 
Регистрация: 05.03.2008
Сообщений: 11
По умолчанию

мне это надо для того чтобы - пользователь диска не ждал когда раскрутиться диск, т.е. человек сидит читает текст с диска, в это время диск остановился, он (человек) жмет "далее" и ждет пока раскрутиться диск


привод не жалко

копировать 700 метров - не лучший вариант - так как это точно не 15 сек. займет
kontora вне форума Ответить с цитированием
Старый 16.03.2008, 15:46   #7
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Цитата:
Сообщение от kontora Посмотреть сообщение
привод не жалко

копировать 700 метров - не лучший вариант - так как это точно не 15 сек. займет
М-м да... серьёзные файлы наверно?

Тогда Вы сделали как надо, а при извлечении диска (когда файл не доступен - закрывайте прогу или что там должно происходить)


Цитата:
т.е. человек сидит читает текст
И всё же, у Вас, что 1 файл на 700 Мб, что ли?

Можно к приимеру следующий (2 или 3) файл скопировать, когда пользователь дойдёт до того который 3-й был, лишние удалить, а новые подгрузить.
Или вообше в память (ОЗУ) грузите.
Всё гениальное - просто!

Последний раз редактировалось Air; 16.03.2008 в 15:51.
Air вне форума Ответить с цитированием
Старый 16.03.2008, 15:51   #8
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от kontora Посмотреть сообщение
мне это надо для того чтобы - пользователь диска не ждал когда раскрутиться диск, т.е. человек сидит читает текст с диска, в это время диск остановился, он (человек) жмет "далее" и ждет пока раскрутиться диск
Можно сразу считать следующий экран. Когда он (человек) жмет "далее"
сразу показываем ему считанное и уже после этого лезем на диска за следующей частью. А если будет часто нажимать "далее" диск и так не успеет остановиться.
alexBlack вне форума Ответить с цитированием
Старый 16.03.2008, 15:51   #9
kontora
Пользователь
 
Регистрация: 05.03.2008
Сообщений: 11
По умолчанию

нет
у меня текст и картинки
доступ случайный
т.е. пользователь в любой момент может открыть любой раздел диска
поэтому или копировать весь диск или ничего не копировать
kontora вне форума Ответить с цитированием
Старый 16.03.2008, 15:55   #10
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Цитата:
Сообщение от kontora Посмотреть сообщение
нет
у меня текст и картинки
доступ случайный
т.е. пользователь в любой момент может открыть любой раздел диска
поэтому или копировать весь диск или ничего не копировать
Ну вот, я и говорю, когда пользователь наводит курсор (на что, там у Вас есть) и в этот момент прога подгружает с диска в ОЗУ, а когда нажмёт, от загрузить из памяти, ту часть и остаток с диска (или все из памяти - есль память не жалко. )
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49
На чем пишутся стратегии типа "Казаков" и "Эпохи империи" Tayfun Свободное общение 3 26.06.2007 20:27