У меня следующий код обработки WM_GESTURE:
case WM_GESTURE:
{
GESTUREINFO gi;
ZeroMemory(&gi, sizeof(gi));
gi.cbSize = sizeof(gi);
BOOL bResult = GetGestureInfo((HGESTUREINFO)lParam, &gi);
BOOL bHandled = FALSE;
if (bResult){
// Gesture processing code is here, but it never gets here in release mode
}
else{
DWORD dwErr = GetLastError();
// Here it returns 87 in release mode
}
CloseGestureInfoHandle((HGESTUREINFO)lParam);
Обработка жестов работает нормально на 100% в режиме отладки, но в режиме выпуска она прерывается — GetGestureInfo возвращает false, а последующий вызов GetLastError возвращает 87 (ERROR_INVALID_PARAMETER).
Документация говорит, что это может быть из-за того, что gi.cbSize настроен неправильно, но здесь это не так.
Зачем?
Задача ещё не решена.
Других решений пока нет …