www.pudn.com > 智能内码识别,支持屏幕取词翻译的程序.zip > CHINESE.CPP
//汉化 #include "stdafx.h" //#include#include #include #include "cspublic.h" #include "cskernel.h" #include "chinese.h" #include "myfunc.h" #include "hzout.h" static ALLHOOKFUNCMESS AllHookFuncMess ; static int nChineseFlag =0 ; //标记是否有中文系统,0没有,1有 BOOL GetHookMem( void ) { AllHookFuncMess.bLongJump =0xea ; //不能超过MAX_HOOK_FUNCTION个 AllHookFuncMess.nHookFuncNum =7 ; /* AllHookFuncMess.lpHookFuncMess = (ONEHOOKFUNCMESS far *)GlobalAllocPtr( GHND , (DWORD)AllHookFuncMess.nHookFuncNum * sizeof( ONEHOOKFUNCMESS ) ) ; if( !AllHookFuncMess.lpHookFuncMess ) return( FALSE ) ; */ return( TRUE ) ; } BOOL GetHookMess( void ) { strcpy( AllHookFuncMess.HookFuncMess[0].sModuleName , "GDI" ) ; strcpy( AllHookFuncMess.HookFuncMess[0].sFuncName , "TextOut" ) ; AllHookFuncMess.HookFuncMess[0].lpNewFuncAddress = (LPSTR)MyTextOut ; strcpy( AllHookFuncMess.HookFuncMess[5].sModuleName , "GDI" ) ; strcpy( AllHookFuncMess.HookFuncMess[5].sFuncName , "ExtTextOut" ) ; AllHookFuncMess.HookFuncMess[5].lpNewFuncAddress = (LPSTR)MyExtTextOut ; strcpy( AllHookFuncMess.HookFuncMess[1].sModuleName , "GDI" ) ; strcpy( AllHookFuncMess.HookFuncMess[1].sFuncName , "GetCharWidth" ) ; AllHookFuncMess.HookFuncMess[1].lpNewFuncAddress = (LPSTR)MyGetCharWidth ; strcpy( AllHookFuncMess.HookFuncMess[2].sModuleName , "GDI" ) ; strcpy( AllHookFuncMess.HookFuncMess[2].sFuncName , "GetCharABCWidths" ) ; AllHookFuncMess.HookFuncMess[2].lpNewFuncAddress = (LPSTR)MyGetCharABCWidths ; strcpy( AllHookFuncMess.HookFuncMess[3].sModuleName , "GDI" ) ; strcpy( AllHookFuncMess.HookFuncMess[3].sFuncName , "GetTextExtent" ) ; AllHookFuncMess.HookFuncMess[3].lpNewFuncAddress = (LPSTR)MyGetTextExtent ; strcpy( AllHookFuncMess.HookFuncMess[4].sModuleName , "USER" ) ; strcpy( AllHookFuncMess.HookFuncMess[4].sFuncName , "DrawText" ) ; AllHookFuncMess.HookFuncMess[4].lpNewFuncAddress = (LPSTR)MyDrawText ; strcpy( AllHookFuncMess.HookFuncMess[6].sModuleName , "USER" ) ; strcpy( AllHookFuncMess.HookFuncMess[6].sFuncName , "GetSystemMetrics" ) ; AllHookFuncMess.HookFuncMess[6].lpNewFuncAddress = (LPSTR)MyGetSystemMetrics ; /* strcpy( AllHookFuncMess.HookFuncMess[7].sModuleName , "GDI" ) ; strcpy( AllHookFuncMess.HookFuncMess[7].sFuncName , "GetTextMetrics" ) ; AllHookFuncMess.HookFuncMess[7].lpNewFuncAddress = (LPSTR)MyGetTextMetrics ;*/ //--------------------------------------------------------------------------// LPSTR lpOldFunction ; int i , j ; for( i=0 ; i