设置系统级的钩子:
hHook:= SetWindowsHookEx(idHook, NewWndProc, hInstance, threadId)
UnhookWindowsHookEx(hHook)
//里面要调用CallNextHookEx
function NewWndProc(nCode: Integer; wParam, lParam: Integer): LRESULT; stdcall;
设置某个窗口的钩子:
OldProc := Setwindowlong(hwnd, GWL_WNDPROC, NewProc);
Setwindowlong(hwnd, GWL_WNDPROC, OldProc );
NewProc为windows中的标准窗口过程的指针
Delphi中的窗口过程 与Windows的窗口过程
Delphi中的窗口过程
TWndMethod = procedure(var Message: TMessage) of object;
转成windows的窗口过程
NewWndProc := classes.makeObjectInstance(wndProc);
classes.FreeobjectInstance(NewWndProc );
创建实现某个窗口过程的窗口
function AllocateHWnd(Method: TWndMethod): HWND;
procedure DeallocateHWnd(Wnd: HWND);
浙公网安备 33010602011771号