Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Почемучка)
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,000
Записей в блоге: 1
1

Как отследить момент отключения флэшки

21.04.2012, 22:45. Показов 2412. Ответов 19
Метки нет (Все метки)

C++
1
2
void __fastcall TForm1::WMDeviceChange( TMessage &Message ) {
    if ( Message.Msg == WM_DEVICECHANGE && Message.WParam == 0x8000 ) {
так мы ловим флэшки, а как поймать отключения флэшки?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2012, 22:45
Ответы с готовыми решениями:

Оследить момент появления флэшки в проводнике.
Как отловить момент появления дисков в проводнике а не в системе? UINT uDriveType =...

Определение подключения/отключения флэшки. Qt и WinAPI
Помогите пожалста победить проблему – требуется в Qt проге определять подкл./откл. флэшки. Написал...

Как отследить момент активации приложения?
Всем привет! Который раз обращаюсь на этот форум, т.к. без ответа не уходил. Такая задача. Нужно...

Как отследить момент нажатия кнопки
Сам медик. Хочу усовершенствовать одну методу по исправлению заикания, но знаний по...

19
LK
Заблокирован
21.04.2012, 22:52 2
Проверка наличия диска в системе
C++
1
2
3
4
5
// Напишите следующуй код:
if(GetDriveType("F:\\") == DRIVE_NO_ROOT_DIR)
MessageBox(NULL, "Указанного диска в системе нет!", "Внимание!", MB_OK | MB_ICONEXCLAMATION);
else
MessageBox(NULL, "Указанный диск есть в системе!", "Внимание!", MB_OK | MB_ICONINFORMATION);
1
Почемучка)
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,000
Записей в блоге: 1
21.04.2012, 22:59  [ТС] 3
LK, так не подойдет, нужно на автоматическом уровне.что бы при извлечении флэшки обновлялся ComboBox1
0
LK
Заблокирован
21.04.2012, 23:04 4
не это ли - WMDeviceChange:
Реакция на флешку
1
Почемучка)
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,000
Записей в блоге: 1
21.04.2012, 23:09  [ТС] 5
Наверно номер 8004Спасибо буду побывать
0
LK
Заблокирован
21.04.2012, 23:10 6
C++
1
0х8004
1
Почемучка)
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,000
Записей в блоге: 1
21.04.2012, 23:13  [ТС] 7
Цитата Сообщение от LK Посмотреть сообщение
0х8004
Там пример на Delphi
C++
1
2
void __fastcall TForm1::WMDeviceChange( TMessage &Message ) {
    if ( Message.Msg == WM_DEVICECHANGE && Message.WParam == 0x8004 ) {
Вот так наверно?
0
Эксперт С++
8289 / 6120 / 613
Регистрация: 10.12.2010
Сообщений: 28,611
Записей в блоге: 30
22.04.2012, 00:12 8
Ну думаю стоит просто поиксперементировать

В устройстве нет диска. Вставьте диск в устройство
Миниатюры
Как отследить момент отключения флэшки  
2
18 / 34 / 2
Регистрация: 28.01.2012
Сообщений: 181
22.04.2012, 20:28 9
думаю в сторону функций SetupDI*** надо смотреть. Например перечисляешь все устройства на своем компе и сохраняешь в Memo1. Далее при отлове сообщения WM_DEVICECHANGE опять перечисляешь устройства на компе и сравниваешь с Memo1. Тут уже не только USB можно отслеживать, а все устройства

Добавлено через 1 минуту
недавно я писал насчет аппаратного серийника. там перечисляют все устройства на компе.Щас найду

Добавлено через 1 минуту
вот тема: Аппаратный серийный номер флешки (как долго я искал)
1
Почемучка)
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,000
Записей в блоге: 1
26.04.2012, 23:40  [ТС] 10
Цитата Сообщение от Avazart Посмотреть сообщение
Ну думаю стоит просто поиксперементировать
Не 8004 не 32772, Есть другие идеи?

Добавлено через 2 часа 11 минут
а хотя, это гласит о другом
0
Эксперт С++
8289 / 6120 / 613
Регистрация: 10.12.2010
Сообщений: 28,611
Записей в блоге: 30
26.05.2012, 01:29 11
0x8004(hex) = 32772(dec)
1
Почемучка)
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,000
Записей в блоге: 1
26.05.2012, 01:59  [ТС] 12
Avazart, работает отключение)
0
Эксперт С++
8289 / 6120 / 613
Регистрация: 10.12.2010
Сообщений: 28,611
Записей в блоге: 30
26.05.2012, 02:24 13
Avazart, работает отключение)
непонял ?
0
Почемучка)
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,000
Записей в блоге: 1
26.05.2012, 02:34  [ТС] 14
Цитата Сообщение от Avazart Посмотреть сообщение
0x8004(hex) = 32772(dec)
этим кодом ловим отключение флэшки)
0
Эксперт С++
8289 / 6120 / 613
Регистрация: 10.12.2010
Сообщений: 28,611
Записей в блоге: 30
26.05.2012, 02:53 15
Ну да а подключение
0x8000 = 32768.
Ну еще там проскакивает код 7
0
Почемучка)
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,000
Записей в блоге: 1
26.05.2012, 03:05  [ТС] 16
Вот лог
Код
7
7
7
7
32768
26.05.2012 2:02:38  - Удалён ярлык: autorun.inf, Размер: 0 Байт
26.05.2012 2:02:38  - Защита уже установлена на диск: (F:)
26.05.2012 2:02:38  - Удалён ярлык: autorun.inf, Размер: 0 Байт
26.05.2012 2:02:38  - Защита уже установлена на диск: (F:)
26.05.2012 2:02:38  -  Подключен накопитель: (F:) A3cam
26.05.2012 2:02:38  - Защита уже установлена на диск: (G:)
26.05.2012 2:02:38  - Защита уже установлена на диск: (G:)
26.05.2012 2:02:38  -  Подключен накопитель: (G:) DVD
7
7
7
7
32772
26.05.2012 2:02:43  -  USB-накопитель отключен
7
7
7
7
7
32768
26.05.2012 2:02:47  - Удалён ярлык: autorun.inf, Размер: 0 Байт
26.05.2012 2:02:47  - Защита уже установлена на диск: (F:)
26.05.2012 2:02:47  - Удалён ярлык: autorun.inf, Размер: 0 Байт
26.05.2012 2:02:47  - Защита уже установлена на диск: (F:)
26.05.2012 2:02:47  -  Подключен накопитель: (F:) A3cam
7
7
7
7
32772
26.05.2012 2:02:47  -  USB-накопитель отключен
7
7
7
7
7
32768
26.05.2012 2:02:52  - Удалён ярлык: autorun.inf, Размер: 0 Байт
26.05.2012 2:02:52  - Защита уже установлена на диск: (F:)
26.05.2012 2:02:52  - Удалён ярлык: autorun.inf, Размер: 0 Байт
26.05.2012 2:02:52  - Защита уже установлена на диск: (F:)
26.05.2012 2:02:52  -  Подключен накопитель: (F:) A3cam
7
7
7
7
32772
26.05.2012 2:02:52  -  USB-накопитель отключен
7
7
7
7
7
7
7
7
7
7
32768
26.05.2012 2:02:56  - Удалён ярлык: autorun.inf, Размер: 0 Байт
26.05.2012 2:02:56  - Защита уже установлена на диск: (F:)
26.05.2012 2:02:56  - Удалён ярлык: autorun.inf, Размер: 0 Байт
26.05.2012 2:02:56  - Защита уже установлена на диск: (F:)
26.05.2012 2:02:56  -  Подключен накопитель: (F:) A3cam
7
7
7
32772
26.05.2012 2:02:56  -  USB-накопитель отключен
7
7
7
7
32768
26.05.2012 2:03:02  - Удалён ярлык: autorun.inf, Размер: 0 Байт
26.05.2012 2:03:02  - Защита уже установлена на диск: (F:)
26.05.2012 2:03:02  - Удалён ярлык: autorun.inf, Размер: 0 Байт
26.05.2012 2:03:02  - Защита уже установлена на диск: (F:)
26.05.2012 2:03:02  -  Подключен накопитель: (F:) A3cam
26.05.2012 2:03:02  - Защита уже установлена на диск: (G:)
26.05.2012 2:03:02  - Защита уже установлена на диск: (G:)
26.05.2012 2:03:02  -  Подключен накопитель: (G:) DVD
7
7
7
7
7
7
7
7
7 это изменение в параметрах системы или что то вроде этого...
0
Эксперт С++
8289 / 6120 / 613
Регистрация: 10.12.2010
Сообщений: 28,611
Записей в блоге: 30
26.05.2012, 03:08 17
Это лог работы на XP?
0
Почемучка)
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,000
Записей в блоге: 1
26.05.2012, 03:21  [ТС] 18
Avazart, нет win 7

Добавлено через 6 минут
Avazart, ошибки 2 нашел, лог исправил
Код
7
7
32772
26.05.2012 2:20:22  -  USB-накопитель отключен
7
7
7
7
7
32768
26.05.2012 2:20:26  -  Подключен накопитель: (G:) DVD
26.05.2012 2:20:26  - Защита уже установлена на диск: (G:)
7
7
7
7
32772
26.05.2012 2:20:29  -  USB-накопитель отключен
7
7
7
7
7
32768
26.05.2012 2:20:33  -  Подключен накопитель: (G:) DVD
26.05.2012 2:20:33  - Защита уже установлена на диск: (G:)
7
7
0
Эксперт С++
8289 / 6120 / 613
Регистрация: 10.12.2010
Сообщений: 28,611
Записей в блоге: 30
26.05.2012, 04:24 19
Avazart, нет win 7
Ну так теперь осталось проверить на XP и сравнить...
0
Почемучка)
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,000
Записей в блоге: 1
26.05.2012, 14:57  [ТС] 20
Avazart, лог XP
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2012-05-26 12:40:36  -  Подключен накопитель: (F:) 
2012-05-26 12:40:36  - Установлена защита на диск: (Y:)
2012-05-26 12:40:36  - Защита уже была установлена на диск: (Y:)
2012-05-26 12:40:36  -  Подключен накопитель: (Y:) 
2012-05-26 12:40:36  - Защита уже была установлена на диск: (Y:)
7
7
7
2012-05-26 12:44:11  - Открыт диск: (F:)
2012-05-26 12:44:23  - Открыт диск: (Y:)
32768
2012-05-26 12:44:44  - Защита уже была установлена на диск: (Y:)
2012-05-26 12:44:44  - Защита уже была установлена на диск: (Y:)
2012-05-26 12:44:44  - Защита уже была установлена на диск: (Y:)
2012-05-26 12:44:44  - Защита уже была установлена на диск: (Y:)
2012-05-26 12:44:44  -  Подключен накопитель: (F:) 
2012-05-26 12:44:44  - Защита уже была установлена на диск: (Y:)
2012-05-26 12:44:44  - Защита уже была установлена на диск: (Y:)
2012-05-26 12:44:44  -  Подключен накопитель: (Y:) 
2012-05-26 12:44:44  - Защита уже была установлена на диск: (Y:)
Добавлено через 5 минут
Avazart, там задержка какая та
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2012, 14:57

Как отследить момент, когда компьютер выключается?
Здравствуйте. Моя программа работает в трее. Windows 7 при выключении выводит окно с кнопкой...

Отследить момент загрузки данных формы: КАК?
Доброе время суток, мудрый ALL Давненько с тобой не общались :) Загружаю форму, некоторые поля...

Как отследить момент раскрывания выпад.списка ?
Источник = запрос Ограничиться списком = Да Событие click вообще не срабатывает на вып.списке.

Как отследить момент окончания аудио в SoundPool?
Нужно отключить анимацию рта по окончании, соответственно, речи=)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.