程序间相互通讯问题的解决

发布时间:2008-6-21 22:37:18文章来源:佚名浏览次数:
选择您适合观看的字体大小:  
在制作一个小程序的过程中,遇到程序间通讯的问题,而且两个程序分别是用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; 
  打印新闻关闭窗口