Флэшка

Тема в разделе "WASM.BEGINNERS", создана пользователем Weert, 23 апр 2007.

  1. Weert

    Weert New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2007
    Сообщения:
    24
    Товарищи! Подскажите пожалуйста как перехватить событие, когда я вставляю флэшку в USB? Т.е. я допустим, хочу чтобы при втыкании флэшки появлялось, какое-нить окошко, допустим messageboxa.... Может есть какая-нить APi - ф-ция?
     
  2. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    Weert
    Надо ловить WM_DEVICECHANGE == uMsg + DBT_DEVICEARRIVAL == wParam + DBT_DEVTYP_VOLUME == ((DEV_BROADCAST_HDR *)lParam)->dbch_devicetype. Затем из ((DEV_BROADCAST_VOLUME *)lParam)->dbcv_unitmask определить букву подключенного устройства. Затем, например, при помощи DeviceIoControl + IOCTL_STORAGE_QUERY_PROPERTY определить является ли подключенное устройство usb-устройством.
     
  3. mc black

    mc black Member

    Публикаций:
    0
    Регистрация:
    19 янв 2005
    Сообщения:
    213
    Адрес:
    Russia, N.Novgorod
    q_q, это всё здорово, спасибо за содержательный ответ! А можно ли примерчик на Си хотя бы в студию? Раздел-то для новичков.
     
  4. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    mc black
    можно ли примерчик на Си хотя бы в студию?
    Без проблем.

    ps
    Раздел-то для новичков
    Afaik это не означает, что тут размещают готовые решения.
     
  5. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Но не для лентяев.
     
  6. Weert

    Weert New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2007
    Сообщения:
    24
    q_q
    огромное спасибо! РЕСПЕКТ!
     
  7. mc black

    mc black Member

    Публикаций:
    0
    Регистрация:
    19 янв 2005
    Сообщения:
    213
    Адрес:
    Russia, N.Novgorod
    Огромное человеческое спасибо!!! Это.. разленился что-то я ;) Исправлюсь.