• 有关自定义消息广播 SendMessage(HWND_BROADCAST,WM_MyMsg,0,0);


    来源:http://www.delphibbs.com/delphibbs/dispq.asp?lid=2322837

    自定义一个消息  有一个程序发送给所有程序。。
    所有的已运行的该程序可以相应这个消息。。。
    但为什么我写的这段不好使啊。。。自己不能响应自己的消息???
    初次尝试  请执教
    分不够可以加
    unit Unit1;
    interface
    uses Windows,Messages,Classes,Forms, StdCtrls, Controls;
    const  WM_MyMsg=Wm_User+100;
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      public
      Procedure MsgRev(var msg:TMessage);message WM_MyMsg;
      end;
    var
      Form1: TForm1;
    implementation
    {$R *.dfm}
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      SendMessage(HWND_BROADCAST,WM_MyMsg,0,0);
    end;
    Procedure TForm1.MsgRev(var msg:TMessage);
    Begin
    Form1.Caption:='已运行了一个';
    End;
    end.


    答案:

    unit Unit1;
    interface
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    const
      MyMessage = 'MyMessage';
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
        FMyMsg: UINT;
      protected
        procedure WndProc(var Message: TMessage); override;
      public
        { Public declarations }
      end;
    var
      Form1: TForm1;
    implementation
    {$R *.dfm}
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      SendMessage(HWND_BROADCAST, FMyMsg, 0, 0);
    end;
    procedure TForm1.WndProc(var Message: TMessage);
    begin
      inherited WndProc(Message);
      if (FMyMsg > 0) and (Message.Msg = FMyMsg) then
      Form1.Caption:='已运行了一个';
    end;
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      FMyMsg := RegisterWindowMessage(MyMessage);
    end;
    end.

  • 相关阅读:
    获取最近一周
    git设置个人信息
    ajax的content-download时间过慢问题的解决与思考
    element UI table中字符太多
    git 合并代码冲突最终解决办法
    thinkphp swoole 的使用
    vue elemnet 二进制文件上传
    Python+Selenium+Chrome 笔记(2)Selenium的Hello World
    chrome 自动测试插件
    php-fpm 错误日志 与 php 错误日志的用法
  • 原文地址:https://www.cnblogs.com/railgunman/p/1918072.html
Copyright © 2020-2023  润新知