网站首页

家园论坛

老版论坛

家园博客

业界新闻

技术文档

下载中心

速查中心

图片中心

硬件资讯
上一篇:根据显示器分辨率设置窗口显示位置 下一篇:没有了
程序间相互通讯问题的解决

来源:http://blog.csdn.net/2001xgp/ 作者:2001xgp 添加日期:2005-11-9 6:02:19 点击次数:
      在制作一个小程序的过程中,遇到程序间通讯的问题,而且两个程序分别是用pb跟delphi开发的,查阅网上资料,根据程序对于响应时间的要求,我选择了postmessage函数来解决通讯问题,代码如下

pb:

  string ls_Classname,ls_WindowName
    ulong ll_winhandle
  uint  li_result
    setnull(ls_ClassName)
    ls_WindowName ="Form1" //delphi程序窗口名称
    ll_winhandle = findwindow(ls_ClassName,ls_WindowName)

if ll_winhandle>0 then //拨通
  li_result = RegisterWindowMessage('1111') //注册系统消息,返回系统唯一消息号

  post(ll_winhandle,li_result,0,0)
  messagebox("提示","知道")
else
 messagebox("提示","没有找到")
end if

======================================

delphi:

声明部分:

private
    Msg: LongInt;
    hWndC : THandle;
    { Private declarations }
  protected
    procedure WndProc(var Message: TMessage); override;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Msg := RegisterWindowMessage('1111');//返回系统唯一消息号,1111为自定义消息内容
  Self.BringToFront;

end;

procedure TForm1.WndProc(var Message: TMessage);
 var
   mypt:Tpoint;
   s:string;
begin

  if Message.msg = msg then begin
      ShowMessage(inttostr(message.lparam) );
     end ;

 
    inherited;
 end;


 
设为首页 | 加入收藏 | 业务办理 | 友情链接 | 论坛版面 | 浙ICP备07502118号 |