{ 2002.07.22 关于如何发送和接收系统消息 作者:王珍义 nickname:LargeWang(老王) QQ: 33728007 欢迎光临鹏业软件 www.pengesoft.com.cn
以下代码Delphi7.0通过,编译后启动两个进程,然后在一个窗口中点击Button1试试。 }
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private Msg: LongInt; { Private declarations } protected procedure WndProc(var Message: TMessage); override; public
{ Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); begin Msg := RegisterWindowMessage(''''wm_mymessage''''); Self.BringToFront; end;
procedure TForm1.WndProc(var Message: TMessage); begin if Message.Msg = Msg then begin Caption := ''''''''; ShowMessage(''''收到消息了''''); end else begin inherited; end; end;
procedure TForm1.Button1Click(Sender: TObject); var M: TMessage; B: DWord; begin M.Msg := Msg; B := BSM_ALLCOMPONENTS; BroadcastSystemMessage(BSF_POSTMESSAGE, @B , M.Msg, M.WParam, M.LParam ); end;
end.
////窗口文件 object Form1: TForm1 Left = 192 Top = 107 Width = 696 Height = 480 Caption = ''''Form1'''' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = ''''MS Sans Serif'''' Font.Style = [] OldCreateOrder = False OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 object Button1: TButton Left = 204 Top = 84 Width = 75 Height = 25 Caption = ''''Button1'''' TabOrder = 0 OnClick = Button1Click end end
没有相关教程
|