Конференция "Начинающим" » Засечь вставку флешки
 
  • TStas (19.06.10 14:21) [0]
    ПРи вставке флешки происходит некое событие в системе и она издаёт звук (система, а не флешка). А можно это событие как-то засечь из своей программы?
    Это нужно для использования флешки в качестве пароля по её номеру.
    Раза с десятого, притом, с десятого - это хорошо. Звонил Розычу, он говорит, что неполнятно почему. А что делать?
  • Eraser © (19.06.10 15:44) [1]
  • antonn © (19.06.10 16:06) [2]
    доехали, Стаса послал =)
  • Palladin © (19.06.10 16:29) [3]
    Если Розыч говорит что "неполнятно", то либо он сегодня "под завязку" либо ты ему мало предложил.
  • [true]trix © (19.06.10 18:50) [4]
    Что именно непонятно при отлове WM_DEVICECHANGE. Примеров много.
  • antonn © (19.06.10 18:56) [5]

    > vrem   (13.06.10 19:34) [15]
    > да просто тут моду я заметил - тупить. один в слове опечатается, а другой
    > спрашивает - а что это такое - лапата? я вот знаю лопата, а тут я удивлён,
    > что же имелось в виду?
    ...
    > опечатка или не по привычному шаблону изложение - они считают, что
    > могут претензию предъявить. кому? зачем? какой толк?
  • Palladin © (19.06.10 19:07) [6]
    Хосподи, опять седлом скрипят дЫртаньянЫ... ну ясен пень, что розыч просто послал товарища.... а все потому что - персонаж не предложил компенсировать время потраченное на его просветление... в литровом эквиваленте....
  • Anatoly Podgoretsky © (19.06.10 19:20) [7]
    Не доценил.
  • Rouse_ © (21.06.10 11:24) [8]
    Ну ты мне немного не так по трубе объяснял, ты сказал что у тебя тут звук какой-то идет и как его тебе перехватить - я тебе и сказал что понятия не имею :)
    А по поводу вставки флешки, как и сказали либо WM_DEVICECHANGE, либо в рамках сервиса SERVICE_CONTROL_DEVICEEVENT. Можно отфильтровать нужное тебе устройство при помощи RegisterDeviceNotification
  • brother © (21.06.10 12:23) [9]
    вот кусок из моих тестов для работы с флешкой:
    ...
    const
     DBT_DEVICEARRIVAL         = $8000;      // system detected a new device
     DBT_DEVICEREMOVECOMPLETE  = $8004;      // device is gone
    ...
    TForm1 = class(TForm)
    ...
     private
    ...
       procedure WndProc(var Msg:TMessage); override;
     public
    ...
     end;

    ...

    procedure TForm1.WndProc(var Msg:TMessage);
    begin
     if Msg.Msg = WM_DEVICECHANGE then begin
       if (Msg.wParam = DBT_DEVICEARRIVAL) then
       begin
    // устройство подключено
       end;
       if (Msg.wParam = DBT_DEVICEREMOVECOMPLETE) then
       begin
    // устройство отключено
       end;
       end;
     inherited
    end;
    ...


    зы пойдет?
  • TStas (23.06.10 23:07) [10]
    По поводу вставки флешки я в книжке нашёл и малость модифицировал, самое оно стало.
    Я, если честно, вопрос-то задал, чтобы проверить, могу ли на форум писать. А просто пустую ветку добавлять не хотелось пачкать любимый форум.
    Писать могу, но не со старого компа. Какие-то настройки у браузера на страром компе слетели. :( Но это уже другая тема. Сейчас пишу с ноутбука.
 
Конференция "Начинающим" » Засечь вставку флешки
Есть новые Нет новых   [134431   +15][b:0][p:0.001]