- Пользователь должен иметь возможность одновременно использовать стандартную мышь Windows и сенсорную панель.
- Все события HID сенсорной панели должны обрабатываться приложением индивидуально, пока оно работает. Он не должен иметь возможности управлять мышью или взаимодействовать с другими окнами.
- При использовании сенсорной панели это не должно влиять на нормальную работу мыши.
Код: Выделить всё
static LRESULT CALLBACK lowLevelHIDHookProc
(
int nCode,
WPARAM wParam,
LPARAM lParam
)
{
HHOOK ignored( NULL );
// have to pass message along to next hook
if( nCode < 0 )
{
return( CallNextHookEx( ignored, nCode, wParam, lParam ) );
}
// THIS IS WHAT I CAN'T FIGURE OUT
else if( eventComingFromNormalMouse ) // allow normal mouse events
{
return( CallNextHookEx( ignored, nCode, wParam, lParam ) );
}
// block touchpad stuff here
else
{
printf( "********\nTOUCH INTERCEPTED!!!\n********\n" );
return( -1 );
}
Я просматриваю документацию lParam/MSLLHOOKSTRUCT, но не вижу ничего, что могло бы помочь провести это различие. Я открыт для любых идей, в том числе вообще не использовать низкоуровневые перехватчики, поскольку они влияют на производительность. Может быть, есть способ открыть последовательное соединение с сенсорной панелью USB, чтобы Windows вообще не определила его как HID-устройство?
Подробнее здесь: https://stackoverflow.com/questions/678 ... k-proc-win
Мобильная версия