Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | type
TWndProc = function (Wnd : HWND; msg : Cardinal ; wParam, lParam : Integer ) : Integer ; stdcall;
var
NextWindowProc : TWndProc;
function WndProc(Wnd : HWND; msg : Cardinal ; wParam, lParam : Integer ) : Integer ; stdcall;
begin
case msg of
WM_MOUSEWHEEL :
begin
Result := NextWindowProc(wnd, msg, wParam, lParam);
end ;
else
Result := NextWindowProc(wnd, msg, wParam, lParam);
end ;
end ;
procedure SetnyWndProc(handle : hwnd);
begin
if IsWindow(handle) then
NextWindowProc := Pointer (setWindowLong(handle, GWL_WNDPROC, Integer (@WndProc)));
end .
|
Тебе только нужно узнать handle своего окна. Да, это естественно работает только если окно существует в том же процессе.