OldProc: FARPROC;
oldproc:=FARPROC(getwindowlong(winfind,GWL_WNDPROC));
setwindowlong(WinFind,GWL_WNDPROC,longint(@MyProc));
下面是MyProc
========================================================================
function MyProc(Hwnd:HWND;iCode:UINT;wParam:WPARAM;lParam:LPARAM):integer; stdcall;
begin
if iCode=WM_ACTIVATEAPP or iCode=WM_ACTIVATE then
exit
else;
CallWindowProc(oldproc,hwnd,iCode,wparam,lparam);
end;
=========================================================================
为什么说“if iCode=WM_ACTIVATEAPP or iCode=WM_ACTIVATE then”这行有错误
错误类型是Incompatible types 就是 不相容的类型 相反的类型
请教高手怎么解决
oldproc:=FARPROC(getwindowlong(winfind,GWL_WNDPROC));
setwindowlong(WinFind,GWL_WNDPROC,longint(@MyProc));
下面是MyProc
========================================================================
function MyProc(Hwnd:HWND;iCode:UINT;wParam:WPARAM;lParam:LPARAM):integer; stdcall;
begin
if iCode=WM_ACTIVATEAPP or iCode=WM_ACTIVATE then
exit
else;
CallWindowProc(oldproc,hwnd,iCode,wparam,lparam);
end;
=========================================================================
为什么说“if iCode=WM_ACTIVATEAPP or iCode=WM_ACTIVATE then”这行有错误
错误类型是Incompatible types 就是 不相容的类型 相反的类型
请教高手怎么解决
begin
case Msg of
WM_ACTIVATEAPP:result:=0;
WM_ACTIVATE:result:=0;
else result:=CallWindowProc(hWnd,Msg,wParam,lParam);
end;
end;
begin
if iCode=WM_ACTIVATEAPP or iCode=WM_ACTIVATE then
exit; //少了一个分号
else // 多了一个分号
CallWindowProc(oldproc,hwnd,iCode,wparam,lparam);
end
========================================================================
function MyProc(Hwnd:HWND;iCode:UINT;wParam:WPARAM;lParam:LPARAM):integer; stdcall;
begin
if (iCode=WM_ACTIVATEAPP) or (iCode=WM_ACTIVATE) then
exit
else
CallWindowProc(oldproc,hwnd,iCode,wparam,lparam);
end;
=========================================================================