Фильтр клавиатуры на перехват Ctrl+Alt+Del. Помогите разобраться!

Тема в разделе "WASM.NT.KERNEL", создана пользователем serg128, 10 авг 2009.

  1. serg128

    serg128 New Member

    Публикаций:
    0
    Регистрация:
    12 июл 2009
    Сообщения:
    55
    Приветствую всех!
    Разработку драйверов изучаю недавно, поэтому прошу сильно не пинать, а помочь по существу:
    изучаю пример драйвера-фильтра клавиатуры, взятый из DDK, и хочу на его базе сделать перехват Ctrl+Alt+Del (не пустить это сообщени от клавы в систему).
    Выбрал подходящее для этого место в драйвере:
    Код (Text):
    1. VOID
    2. KbFilter_ServiceCallback(IN PDEVICE_OBJECT DeviceObject,
    3.                                      IN PKEYBOARD_INPUT_DATA InputDataStart,
    4.                                      IN PKEYBOARD_INPUT_DATA InputDataEnd,
    5.                                      IN OUT PULONG InputDataConsumed )
    6. {
    7.     PDEVICE_EXTENSION   devExt;
    8.     devExt = (PDEVICE_EXTENSION) DeviceObject->DeviceExtension;
    9.     (*(PSERVICE_CALLBACK_ROUTINE) devExt->UpperConnectData.ClassService)
    10.       ( devExt->UpperConnectData.ClassDeviceObject,
    11.         InputDataStart,
    12.         InputDataEnd,
    13.         InputDataConsumed);
    14. }
    но немогу сообразить как именно отловить нажатие этих трех педалей, и не пустить его дальше. Подскажите плиз!
     
  2. LazzY

    LazzY New Member

    Публикаций:
    0
    Регистрация:
    6 мар 2006
    Сообщения:
    123
    Можно ведь и без драйвера то, Сабклассить окно винлогона и ловить WM_HOTKEY
     
  3. serg128

    serg128 New Member

    Публикаций:
    0
    Регистрация:
    12 июл 2009
    Сообщения:
    55
    Да, согласен, видел гдето подобные примеры.
    Но, нужно сделать через драйвер по причинам:
    - разобраться, как работает драйвер фильтр
    - изучить программирование в нулевом кольце
    - ну и на перспективу развивать данный драйвер.