Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- -----------------------------------------
- * Game hacking QTS ( Quickie Tip Series )
- * no. 16 - Callback based keyboard and mouse input
- -----------------------------------------
- * Author: SEGnosis - GHAnon.net
- * Thanks to:
- * bitterbanana - No known site
- * Drunken Cheetah - No known site
- * fatboy88 - No known site
- * Geek4Ever - No known site
- * learn_more - www.uc-forum.com
- * Novocaine - http://ilsken.net/blog/?page_id=64
- * Philly0494 - No known site
- * Roverturbo - www.uc-forum.com
- * SilentKarma - www.halocoders.com - offline
- * Strife - www.uc-forum.com
- * Wieter20 - No known site
- */
- //----------------------------------//
- #include <detours.h>
- //----------------------------------//
- #define HOOK(func,addy) o##func = (t##func)DetourFunction((PBYTE)addy,(PBYTE)hk##func)
- //----------------------------------//
- LRESULT WINAPI hkDispatchMessage( MSG* lpmsg )
- {
- WPARAM wParam = lpmsg->wParam;
- WPARAM lParam = lpmsg->lParam;
- HWND hWnd = lpmsg->hwnd;
- static POINT ptCursor;
- const DWORD dwLButtonTime = 13379,
- dwRButtonTime = 13378;
- switch( lpmsg->message )
- {
- case WM_TIMER:
- switch( wParam )
- {
- case dwLButtonTime:
- break;
- case dwRButtonTime:
- break;
- }
- break;
- case WM_LBUTTONDOWN:
- SetTimer( hWnd, dwLButtonTime, 50, 0 );
- break;
- case WM_LBUTTONUP:
- KillTimer( hWnd, dwLButtonTime );
- break;
- case WM_RBUTTONDOWN:
- SetTimer( hWnd, dwRButtonTime, 50, 0 );
- break;
- case WM_RBUTTONUP:
- KillTimer( hWnd, dwRButtonTime );
- break;
- case WM_MOUSEMOVE:
- ptCursor.x = LOWORD( lParam );
- ptCursor.y = HIWORD( lParam );
- break;
- case WM_MOUSEWHEEL:
- if( GET_WHEEL_DELTA_WPARAM(wParam) == 120 );
- if( GET_WHEEL_DELTA_WPARAM(wParam) == -120 );
- break;
- case WM_KEYDOWN:
- case WM_SYSKEYDOWN:
- switch( wParam )
- {
- case VK_LEFT:
- break;
- case VK_RIGHT:
- break;
- case VK_DOWN:
- break;
- case VK_UP:
- break;
- }
- break;
- case WM_KEYUP:
- break;
- case WM_SIZE:
- LOWORD( lParam ); // client width
- HIWORD( lParam ); // client height
- break;
- }
- return oDispatchMessage( lpmsg );
- }
- //----------------------------------//
- DWORD WINAPI CommandThread( LPVOID )
- {
- DWORD dwDispatchMessageAddress = 0;
- while( !( dwDispatchMessageAddress = GetProcAddress( GetModuleHandle( "User32.dll" ), "DispatchMessageA" ) ) )
- Sleep( 250 );
- HOOK(DispatchMessage,dwDispatchMessageAddress);
- return 0;
- }
- //----------------------------------//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement