> зы: Надо, чтобы работало под nt4, win2000, XP и т.д. Начиная с w2k и WDM появился и win32k.sys в ядро вынесена. В общем скорее всего придется писать отдельно под w2k+ и отдельно под nt4
А из ядра, как я уже сказал используется так же как все системные сервисы. Номер сервиса можно подглядеть только в user32 (потому как оттуда экспортируется SendInput). К счастью сделать это автоматически не составляет труда. А вот для вызова системного сервиса из ядра нужно подготовить все параметры и сделать сделать
call nt!KiSystemService
Его адрес можно тоже подглядеть в любой ZwXxx функции (в режиме ядра). И сделать это тоже можно автоматически
Уважаемые коллеги! Помогите!
Необходимо написать драйвер, который общается с некоей железякой на ISA ииногда, по результатам этого общения каким-то способом помещает данные в поток SCAN-кодов (т.е. является для системы второй клавиатурой). Приходит на ум написать filter в вершине стека (над kbdclass), но этот путь ужасает своей громоздкостью. Наверняка есть простой путь решить такую проблему. Подскажите,pls!
[C++] SendInput спасет отца русской демократии16.03.05 15:01 Автор: amirul <Serge> Статус: The Elderman
> Уважаемые коллеги! Помогите! > Необходимо написать драйвер, который общается с некоей > железякой на ISA ииногда, по результатам этого общения > каким-то способом помещает данные в поток SCAN-кодов (т.е. > является для системы второй клавиатурой). Приходит на ум > написать filter в вершине стека (над kbdclass), но этот > путь ужасает своей громоздкостью. Наверняка есть простой > путь решить такую проблему. Подскажите,pls! Во всяком случае устаревшие keybd_event и mouse_event используют именно его
Экспортируется из user32, является сервисом win32 подсистемы (win32k.sys) посему можно использовать и из ядра (в частности на WinXP SP0 номер сервиса: 0x11f6).
У меня так и сделано в старой версии в в юзер-моде(под...16.03.05 16:21 Автор: Pavel!!! Статус: Незарегистрированный пользователь
> Во всяком случае устаревшие keybd_event и mouse_event > используют именно его > Экспортируется из user32, является сервисом win32 > подсистемы (win32k.sys) посему можно использовать и из ядра > (в частности на WinXP SP0 номер сервиса: 0x11f6). У меня так и сделано в старой версии в в юзер-моде(под Win98), а как его(SendInput) использовать
из ядра?
зы: Надо, чтобы работало под nt4, win2000, XP и т.д.
C nt4 в этой линейке всегда проблемы :-)16.03.05 19:33 Автор: amirul <Serge> Статус: The Elderman
> зы: Надо, чтобы работало под nt4, win2000, XP и т.д. Начиная с w2k и WDM появился и win32k.sys в ядро вынесена. В общем скорее всего придется писать отдельно под w2k+ и отдельно под nt4
А из ядра, как я уже сказал используется так же как все системные сервисы. Номер сервиса можно подглядеть только в user32 (потому как оттуда экспортируется SendInput). К счастью сделать это автоматически не составляет труда. А вот для вызова системного сервиса из ядра нужно подготовить все параметры и сделать сделать
call nt!KiSystemService
Его адрес можно тоже подглядеть в любой ZwXxx функции (в режиме ядра). И сделать это тоже можно автоматически