⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unttypes.pas

📁 如何用delphi在windows 2000 windows xp下实现获取屏幕的汉字
💻 PAS
字号:
unit untTypes;

interface

uses
 Windows;

type
 TCommonData = record
   bCapture : BOOL;
   bInSpec : BOOL;
   CallBackHandle:HWnd;
   CallBackProcID : DWORD;
   hWndFloat : HWnd; (*浮动窗口的句柄*)
   hWndMouse : HWnd; (*鼠标所在窗口server的句柄*)
   hWndCapture : HWnd; (*当前鼠标所在的窗口*)
   MousePos  : TPoint; (*当前鼠标屏幕坐标*)
   MousePClient : TPoint; (*鼠标所在窗口的坐标*)
   Rect : TRect;
   case integer of
     0 : (BufferA : array [0..1023] of Char);
     1 : (BufferW : array [0..511] of WideChar);
 end;


 PCommonData = ^TCommonData;

 TCode5 = packed record
   siJmp : ShortInt;
   dwAddr : DWORD;
 end;

 TThunkFunc = (tfTextOutA,       tfTextOutW,
               tfExtTextOutA,    tfExtTextOutW,
               tfDrawTextA,      tfDrawTextW);

 TThunkFuncName = packed record
   strMod        : string;  // 系统模块名称
   strSysProc    : string;  // 系统DLL中的名字
   strThunkProc  : string;  // 你替换的函数的名字,必须在DLL的引出表中
 end;

 TThunkCode = packed record
   codeBak       : TCode5;  // 系统函数的代码的前5个字节
   codeThunk     : TCode5;  // 跳转到你的代码的5个字节
   addr_sys      : Pointer; // 系统函数的地址
   addr_thunk    : Pointer; // 替换函数的地址
   bInstalled    : boolean; // 安装了吗?
 end;

const
 G_DELAY_TIME = 100;

const
 ThunkFuncNameArr : array[TThunkFunc] of TThunkFuncName = (
   (strMod : 'gdi32.dll';  strSysProc : 'TextOutA';    strThunkProc : 'GanTextOutA'),
   (strMod : 'gdi32.dll';  strSysProc : 'TextOutW';    strThunkProc : 'GanTextOutW'),
   (strMod : 'gdi32.dll';  strSysProc : 'ExtTextOutA'; strThunkProc : 'GanExtTextOutA'),
   (strMod : 'gdi32.dll';  strSysProc : 'ExtTextOutW'; strThunkProc : 'GanExtTextOutW'),
   (strMod : 'user32.dll'; strSysProc : 'DrawTextA';   strThunkProc : 'GanDrawTextA'),
   (strMod : 'user32.dll'; strSysProc : 'DrawTextW';   strThunkProc : 'GanDrawTextW')
 );


implementation

end.  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -