如题!
windows 有个BroadcastSystemMessage api函数,
我看了它的帮助,应该是发给所有应用程序的。
但我并不想给其它应用程序发消息。

解决方案 »

  1.   

    遍历Screen.Forms,依次给窗体发消息. 伪代码如下:var
        i: integer;
    begin
        for i := Screen.FormCount - 1 downto 0 do
        begin
            PostMessage(Screen.Forms[i].Handle, Message, LParam, WParam);
        end;
    end;
      

  2.   

    那么,有个笨办法,找到父进程,然后枚举子进程,分别向每个进程FindWindow然后发送消息
      

  3.   

    BroadcastSystemMessage是给所有顶层窗口发消息,并不是所有应用程序,有的程序没有窗口,有的程序不止一个顶层窗口
    如果其它应用程序并不处理你的消息(自定义消息),那么这个API应该适应你的应用