?? unit1.pas
字號:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Menus, ExtCtrls;
const GETWORD_ENABLE=1001;
const GETWORD_DISABLE=1002;
const NHD_WM_GETWORD_OK=WM_USER + 1011;
const IDM_ABOUTBOX=9999;
type
Tfrm_main = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Timer1: TTimer;
Label2: TLabel;
Edit2: TEdit;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
procedure AppOnMessage(var Msg: TMsg;var Handled : Boolean);
procedure GetWordFromBuffer(var message: tmessage); message NHD_WM_GETWORD_OK;
{ Private declarations }
public
{ Public declarations }
end;
var
frm_main: Tfrm_main;
implementation
uses about,GetWord;
{$R *.DFM}
procedure Tfrm_main.FormCreate(Sender: TObject);
var
pSysMenu : HMENU;
begin
//SetWindowPos((Sender as TForm).handle,HWND_TOPMOST,(Sender as TForm).Left,(Sender as TForm).Top,(Sender as TForm).Width,(Sender as TForm).Height,SWP_NOSIZE);
Application.OnMessage := AppOnMessage;
pSysMenu := GetSystemMenu(handle,FALSE);
if pSysMenu <> 0 then begin
AppendMenu(pSysMenu,MF_SEPARATOR,0,nil);
AppendMenu(pSysMenu, MF_STRING ,IDM_ABOUTBOX, '有關(guān)屏幕取詞...');
end;
pSysMenu := GetSystemMenu(Application.handle,FALSE);
if pSysMenu <> 0 then begin
AppendMenu(pSysMenu,MF_SEPARATOR,0,nil);
AppendMenu(pSysMenu, MF_STRING ,IDM_ABOUTBOX, '有關(guān)屏幕取詞...');
end;
if NHD_InitGetWords(application.handle,handle)=0 then begin
messagebox(application.handle,'初始化屏幕取詞動態(tài)鏈接庫失敗!','信息',MB_OK or MB_APPLMODAL or MB_ICONWARNING);
application.Terminate;
exit;
end;
end;
procedure Tfrm_main.FormDestroy(Sender: TObject);
begin
NHD_ExitGetWords();
end;
procedure Tfrm_main.GetWordFromBuffer(var message: tmessage);
begin
(*從緩沖區(qū)里面取詞*)
// ZeroMemory(@qcbuffer,sizeof(qcbuffer)); (*清空內(nèi)存*)
if BL_GetText32(g_TextBuffer,sizeof(g_TextBuffer),@G_Rect)>0
then Edit1.Text := strpas(g_TextBuffer)
else Edit1.Text := '';
end;
procedure Tfrm_main.AppOnMessage(var Msg: TMsg;var Handled : Boolean);
begin
if Msg.WParam=IDM_ABOUTBOX then begin
frm_about.showmodal;
end;
(*if (Msg.message=WM_KEYDOWN) and (Msg.wParam = VK_CONTROL) then begin
//press Ctrl key
ptMousePos.x := 0;
ptMousePos.y := 0;
if (GetCursorPos(ptMousePos)) then begin
NHD_BeginGetWord(ptMousePos);
end;
end;*)
end;
procedure Tfrm_main.Timer1Timer(Sender: TObject);
var
ptMousePos : TPOINT;
begin
ptMousePos.x := 0;
ptMousePos.y := 0;
if (GetCursorPos(ptMousePos)) then begin
NHD_BeginGetWord(ptMousePos);
end;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -