- Move mouse history to mouse.c and it is not effected by the hook bypass.

svn path=/trunk/; revision=54196
This commit is contained in:
James Tabor 2011-10-19 01:07:19 +00:00
parent 4ba68ec5ab
commit 963dfffc01
2 changed files with 11 additions and 10 deletions

View file

@ -10,6 +10,9 @@
#include <win32k.h>
DBG_DEFAULT_CHANNEL(UserInput);
MOUSEMOVEPOINT MouseHistoryOfMoves[64];
INT gcur_count = 0;
#define ClearMouseInput(mi) \
mi.dx = 0; \
mi.dy = 0; \
@ -160,6 +163,14 @@ IntMouseInput(MOUSEINPUT *mi, BOOL Injected)
}
}
/* Do GetMouseMovePointsEx FIFO. */
MouseHistoryOfMoves[gcur_count].x = MousePos.x;
MouseHistoryOfMoves[gcur_count].y = MousePos.y;
MouseHistoryOfMoves[gcur_count].time = mi->time;
MouseHistoryOfMoves[gcur_count].dwExtraInfo = mi->dwExtraInfo;
if (++gcur_count == ARRAYSIZE(MouseHistoryOfMoves))
gcur_count = 0; // 0 - 63 is 64, FIFO forwards.
/*
* Insert the messages into the system queue
*/

View file

@ -14,8 +14,6 @@ DBG_DEFAULT_CHANNEL(UserMsgQ);
/* GLOBALS *******************************************************************/
static PAGED_LOOKASIDE_LIST MessageLookasideList;
MOUSEMOVEPOINT MouseHistoryOfMoves[64];
INT gcur_count = 0;
PUSER_MESSAGE_QUEUE gpqCursor;
/* FUNCTIONS *****************************************************************/
@ -587,14 +585,6 @@ co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Hook
GreMovePointer(hdcScreen, Msg->pt.x, Msg->pt.y);
CurInfo->ShowingCursor = 0;
}
/* Do GetMouseMovePointsEx FIFO. */
MouseHistoryOfMoves[gcur_count].x = Msg->pt.x;
MouseHistoryOfMoves[gcur_count].y = Msg->pt.y;
MouseHistoryOfMoves[gcur_count].time = Msg->time;
MouseHistoryOfMoves[gcur_count].dwExtraInfo = dwExtraInfo;
if (++gcur_count == ARRAYSIZE(MouseHistoryOfMoves))
gcur_count = 0; // 0 - 63 is 64, FIFO forwards.
}
VOID FASTCALL