截获与管理Windows的消息
摘要:如何用一个程序截获管理Windows的消息
关键字:Windows 消息 监听 列表
类别:系统控制
有时候我们为了多项应用而要管理Windows的消息。我们怎样才能做到呢?
{ 这个例子定义的程序可以收取所有发往主窗口的消息 }
Unit TesteandoEsta;
Interface
Uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, Menus;
Type
TForm1 = Class (TForm)
Private {Private declarations}
Public {Public declarations}
Procedure WinMsg (Var Msg : TMsg; Var Handled : Boolean);
End;
Var
Form1 : TForm1;
Implementation
{$R *.DFM}
{ 所有发送到主窗体的消息,保存在变量Msg中。 }
Procedure TForm1.WinMsg (Var Msg : TMsg; Var Handled : Boolean);
Begin
If Msg.Message = WM_SYSCOMMAND Then Beep;
{ 接收到消息时的通知}
End;
Procedure TForm1.FormCreate (Sender : TObject);
Begin
Application.OnMessage := WinMsg;
{ 替换消息句炳}
End;