Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];

Вниз

как узнать что вставили новый 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.037 c
4-16803
Asteroid
2003-11-28 03:20
2004.02.06
Поворот DC


1-16492
Islander
2004-01-27 22:17
2004.02.06
Где хранить настройки в 200x/XP?


6-16546
SDF
2003-11-06 08:01
2004.02.06
Работа с Indy


1-16451
Кен
2004-01-28 04:14
2004.02.06
Как правильно обрабатывать ошибки в математических выражениях ?


14-16733
Toliman
2004-01-15 23:36
2004.02.06
Экспорт Классов Из С++ в Deplhi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский