Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как отследить подключение USB устройства

84K
24 августа 2012 года
Marat Safin
2 / / 24.08.2012
Здравствуйте,

Подскажите как отследить подключение USB устройства желательно на C/C++ (конкретно USB 3G модем). Вроде должно пройти событие по DBUS но какое событие? и как работать с DBUS.

Заранее Спасибо.
1
27 августа 2012 года
kot_
7.3K / / 20.01.2000
Проще всего посмотреть как это делает Network Menager Либо посмотреть доки самого проекта dbus
80K
02 сентября 2012 года
MorskoyZmey
23 / / 02.09.2012
Ловим событие
Код:
case WM_DEVICECHANGE:
{
    if((UINT)wParam == DBT_DEVICEARRIVAL)
    {
        PDEV_BROADCAST_HDR pHDR = (PDEV_BROADCAST_HDR) lParam;
       
        if(pHDR->dbch_devicetype == DBT_DEVTYP_VOLUME)
        {
            PDEV_BROADCAST_VOLUME pVOL = (PDEV_BROADCAST_VOLUME) pHDR;
           
            if(pVOL->dbcv_flags==1)break; //CD drive
           
            //NET or Drive
            int mask = pVOL->dbcv_unitmask;
            int drive=0;
            for(;mask;mask/=2)drive++;
            drive+=64;
            //PART 1
            char fpath[30],dpath[20];
            sprintf_s(dpath,5,"%c:\\",drive);// буква диска X:\
           

            if(GetDriveType(dpath)!=DRIVE_REMOVABLE)break; //Если это не USB или другое съемное устройство, то нафиг
           
         
           //Работем с dpath

        }
        return TRUE;
    }
}
break;
7
02 сентября 2012 года
@pixo $oft
3.4K / / 20.09.2006
MorskoyZmey,вот знаешь,я тоже в такой манере хотел ответить.Но когда глянул,что эта тема всё-таки в разделе для Linux/Unix,благоразумно отказался от этой затеи
Так что ты,в принципе,молодец,но не тут =)
80K
02 сентября 2012 года
MorskoyZmey
23 / / 02.09.2012
Цитата: @pixo $oft
MorskoyZmey,вот знаешь,я тоже в такой манере хотел ответить.Но когда глянул,что эта тема всё-таки в разделе для Linux/Unix,благоразумно отказался от этой затеи
Так что ты,в принципе,молодец,но не тут =)



:-*
Ночь было, невнимательный, помочь хотел

84K
07 сентября 2012 года
Marat Safin
2 / / 24.08.2012
to kot_
пошарлся на тему Network монитора не нашёл исходники но думаю он мне мало помог бы, ведь он работает с сетевыми интерфейсами а не с устройствами, то есть Network монитор увидит модем только после подключения к сети, если я правильно понимаю.
В общем мои изыскания привели меня к udev, ещё раз пересмотрел архитектуру приложения и думаю ловить событие подключения модема к компьютеру не придётся хотя udev вроде позволяет это делать. udev помог получить список подключённых модемов.
Всё решил через libudev (API интерфейс к udev)
Вот нашол статейку как работать с API udev
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог