www.pudn.com > GUIhookNT.zip > Texthook.h


#ifndef __TEXT_HOOK_H 
#define __TEXT_HOOK_H 
 
#define     MAX_PATH_LENGTH             144 
 
#define WM_TEXTHOOK_EXCEPTION        WM_USER + 0x201 
 
#define WM_EXTTEXTOUTA WM_USER + 0x202 
#define WM_EXTTEXTOUTW WM_USER + 0x203 
#define WM_TEXTOUTA WM_USER + 0x204 
#define WM_TEXTOUTW WM_USER + 0x205 
#define WM_MOUSEPT WM_USER + 0x206 
#define WM_SHUTDOWN WM_USER + 0x209 
 
#define CMD_USE2 2 
#define CMD_USE1 1 
 
#define MAPFILENAME "GUIHOOKNT.SHARE" 
 
typedef BOOL(WINAPI *__TextOut)(HDC, int , int , LPCSTR,int); 
typedef BOOL(WINAPI *__ExtTextOut)(HDC , int, int , UINT ,const RECT *, LPCSTR , UINT , int*); 
 
typedef struct __long_jmp { 
	ULONG JmpOp ; 
	LPVOID Addr ; 
} TLongJmp ; 
 
#define JMPMYCODESIZE  sizeof(TLongJmp) 
 
#define TEXT_BUF_SIZE 128 
typedef struct { 
	UINT DLLRef ;	 
	// For old API address : 
	__TextOut TextOutA; 
	__TextOut TextOutW;	 
	__ExtTextOut ExtTextOutA; 
	__ExtTextOut ExtTextOutW; 
	//For Hook handle 
	HHOOK hMouseHook; 
	HHOOK hCBTHook; 
	DWORD hCurTask ;	 
	HWND HTextHookWnd; 
 
	//For timer 
	int wTimePassed; 
 
	// For finger process 
	BOOL bReadyToGetText; 
	BOOL bIntercept ; 
	// If bTraceMouse is true , then , i will catch the 
	// text under the mouse point . 
	// Refered by MyExtTextOut , MyTextOut 
	BOOL bTraceMouse ; 
 
	HWND hWndMouse; 
 
	//For the mouse point 
	POINT tMouseP; 
	POINT tDnyPt ; 
	 
	char FAR  OldCodeExtTextOutA [10] ; 
	char FAR  OldCodeExtTextOutW [10] ; 
	char FAR  OldCodeTextOutA [10] ; 
	char FAR  OldCodeTextOutW [10] ; 
 
 
	char sBufTextOutA[TEXT_BUF_SIZE]; 
	char sBufExtTextOutA[TEXT_BUF_SIZE]; 
	char sBufTextOutW[TEXT_BUF_SIZE]; 
	char sBufExtTextOutW[TEXT_BUF_SIZE]; 
 
	char sBufTextOutA2[TEXT_BUF_SIZE]; 
	char sBufExtTextOutA2[TEXT_BUF_SIZE]; 
	char sBufTextOutW2[TEXT_BUF_SIZE]; 
	char sBufExtTextOutW2[TEXT_BUF_SIZE]; 
 
	BOOL bIgrExtTextOutA; 
	BOOL bIgrTextOutA ; 
	BOOL bIgrExtTextOutW; 
	BOOL bIgrTextOutW ; 
 
} TShareData , *PTShareData ; 
#define szMousePointWindowName  "MOUSEPOINT" 
#define SHMEMSIZE sizeof(TShareData) 
#define SHAREMEMSIZE SHMEMSIZE 
#define ShutdownInterruptHandler() 
#define GetCurrentTask GetCurrentProcessId 
 
#define FUNC_EXTTEXTOUTA 1 
#define FUNC_TEXTOUTA 2 
#define FUNC_EXTTEXTOUTW 3 
#define FUNC_TEXTOUTW 4 
 
#endif