程序間相互通訊問題的解決

字號:

在制作一個小程序的過程中,遇到程序間通訊的問題,而且兩個程序分別是用pb跟delphi開發(fā)的,查閱網上資料,根據程序對于響應時間的要求,我選擇了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') //注冊系統(tǒng)消息,返回系統(tǒng)消息號
     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');//返回系統(tǒng)消息號,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;