|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.06.2011, 03:52 | #1 |
Новичок
Джуниор
Регистрация: 22.06.2011
Сообщений: 2
|
Отловить подключение SD через картридер
Здравствуйте уважаемые гуру.
Помогите я в тупике. Пишу прогу которая должна отлавливатьподключение гибких дисков будьто флешки, cd, dvd b прочие карты памяти. Отслеживаю подключение и отключение при помощи WM_DEVICECHANGE но вот проблемма при подключении карт(SD,MMC и тп) через картридер WM_DEVICECHANGE не реагирует. Пробывал решить проблему через функцию registerdevicenotification, все равно не видет Подскажите как быть? Вот код(пока только проверка на наличие рееакции при подкл) Код:
|
22.06.2011, 20:28 | #2 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
dbi нужно правильно инициализировать
http://msdn.microsoft.com/en-us/libr...(v=VS.85).aspx |
23.06.2011, 08:14 | #3 |
Новичок
Джуниор
Регистрация: 22.06.2011
Сообщений: 2
|
Попробывал.
Опираять на статьи http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx и http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx(как вы посоветовали) Сделал так Код:
Код:
Код:
|
23.06.2011, 12:13 | #4 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
а если так:
Код:
Последний раз редактировалось f.hump; 23.06.2011 в 12:29. |
29.06.2011, 15:53 | #5 |
Пользователь
Регистрация: 09.03.2010
Сообщений: 48
|
А там по другому работает вроде.
Когда подключается кардридер, то в системе проскакивают события (6-7-10 раз, в зависимости от количества дырок в кардридере) о подключении нового устройства. Так вот все они будут как раз таки выдавать событие DBT_DEVICEARRIVAL с кодом состояния $8000. При этом система не делает проверку на наличие или отсутствие диска в дырке. Иными словами она не интересуется содержимым, т.к. на плате карридера есть котроллер который при поключении к ПК "сказал" -"я-устройство USB" (грубо говоря). А с задачей "узнать вставили ли карту в дырку" уже не решить так просто, ибо при вставке карты (!!!!) событий никаких не возникает. Чтобы узнать есть ли в дырке карта можно на таймер повесить: Код:
Я пишу это основываясь на опыте юзания всего 1 модели от Teac. Я вполне допускаю, что есть модели кардридеров, которые сами сообщают о втыкании карты. Но у меня было так. |
22.02.2013, 23:26 | #6 |
Регистрация: 14.10.2008
Сообщений: 6
|
Эта страница в выдаче гугла одна из первых, поэтому оставлю ссылку на решение которое нашел http://stackoverflow.com/questions/3...ve-card-reader
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
подключение двух компьютеров к интернет через одно подключение | Chudo4258 | Помощь студентам | 3 | 30.03.2010 16:07 |
картридер | Chudo4258 | Помощь студентам | 1 | 12.02.2010 21:21 |
подключение через минипорт | benjaminfran | Работа с сетью в Delphi | 3 | 14.02.2008 21:54 |
Подключение через proxy | Рустам | Работа с сетью в Delphi | 2 | 15.11.2007 12:45 |
Подключение через WinInet | SHEI'TI | Работа с сетью в Delphi | 1 | 15.02.2007 19:53 |