Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.06;
Скачать: CL | DM;

Вниз

как узнать что вставили новый CD   Найти похожие ветки 

 
pirat ©   (2003-11-14 22:53) [0]

Как узнать момент вставляния в CD нового диска? Я так понимаю что по таймеру нужно вызывать какую-то функция API, но вот какую???
Еще подозреваю что на каждом CDROM защит уникальный ID, по которому и можно узнать о смене диска, так ли это ?

Прошу прощения если звучит чуть по ламерски, просто даже не знаю куда копать :-)


 
Dimaxx ©   (2003-11-15 00:15) [1]

const DBT_DEVICEARRIVAL = $8000;
const DBT_DEVICEQUERYREMOVE = $8001;
const DBT_DEVICEQUERYREMOVEFAILED = $8002;
const DBT_DEVICEREMOVEPENDING = $8003;
const DBT_DEVICEREMOVECOMPLETE = $8004;
const DBT_DEVICETYPESPECIFIC = $8005;
const DBT_CONFIGCHANGED = $0018;

procedure TForm1.WMDeviceChange(var Message: TMessage);
var S: string;
begin
{Do Something here}
case Message.wParam of
DBT_DEVICEARRIVAL: S:="A device has been inserted and is now available";
DBT_DEVICEREMOVECOMPLETE: S:="Device has been removed";
changed"
end;
ShowMessage(S);
inherited;
end;


 
Pirat ©   (2003-11-15 01:02) [2]

спасибо!


 
pirat ©   (2003-11-17 18:32) [3]

вот поторопился я спасибо говорить ...
изыскания показали что вешеприведенный код действительно реагирует на появление флэшки, но на вставляние CD он ноль реакции. Так как же узнать что вставили новый CD ? Усе время вызывать getvolumeinformation ??


 
DVM ©   (2003-11-17 18:38) [4]


> Усе время вызывать getvolumeinformation ??

да, надежнее всего по таймеру. Работает даже с теми CD приводами у которых сломан (отсутствует) контакт, отвечающий за индикацию смены диска.


 
Pirate ©   (2003-11-18 15:08) [5]

Брат! Вот моя идея:
function DirectoryExists("?:\"):Boolean;
проверяет существование диска "?"


 
pirat ©   (2003-11-18 18:37) [6]

угу ... а потом я еще нашел функцию VolumeID которая возвращает как раз то что мне надо :)



Страницы: 1 вся ветка

Текущий архив: 2004.02.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
1-16358
MadGhost
2004-01-24 23:12
2004.02.06
Научите работать с потоками нормально или ссылку дайте?


1-16505
denis24
2004-01-27 13:03
2004.02.06
Кнопка mininize в заголовке формы


4-16834
vitalmoya
2003-12-01 23:03
2004.02.06
Название, класа по идентификатору


6-16570
h0use
2003-12-01 17:37
2004.02.06
Как через инди компоненты работать с базами данных


1-16298
Grinder
2004-01-24 13:43
2004.02.06
Форма как hint