SendAppMessage如何捕捉 ( 积分: 100 )

  • 主题发起人 主题发起人 xiaobaoqi
  • 开始时间 开始时间
X

xiaobaoqi

Unregistered / Unconfirmed
GUEST, unregistred user!
如何捕捉SendAppMessage发出的消息 例如 SendAppMessage(WM_MYMESSAGE,0,0)/,如何对消息进行处理。
 
Application.OnMessage事件
 
你试了吗?这肯定不行!
 
const
UM_TEST = WM_USER + $001;

var
OldWProc : TFNWndProc;

function NewWndProc(Handle: HWND; Msg: Integer; wParam, lParam: Longint):
Longint; stdcall;
begin
if Msg = UM_TEST then
begin
Form1.Caption := 'ok';
end;
Result := CallWindowProc(OldWProc, Handle, Msg, wParam, lParam);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
OldWProc := TFNWndProc(SetWindowLong(Application.Handle, GWL_WNDPROC,
Longint(@NewWndProc)));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
SendAppMessage(UM_TEST, 0, 0);
end;
 
我已找到答案了。方法很多,你这个是子类化,还有 消息映射 和 钩
 
接受答案了.
 
后退
顶部