在制作一个小程序的过程中,遇到程序间通讯的问题,而且两个程序分别是用pb跟delphi开发的,查阅网上资料,根据程序对于响应时间的要求,我选择了postmessage函数来解决通讯问题,代码如下 pb: string ls_Classname,ls_WindowName if ll_winhandle>0 then //拨通 post(ll_winhandle,li_result,0,0) ====================================== delphi: 声明部分: private procedure TForm1.FormCreate(Sender: TObject); end; procedure TForm1.WndProc(var Message: TMessage); if Message.msg = msg then begin
ulong ll_winhandle
uint li_result
setnull(ls_ClassName)
ls_WindowName =”Form1″ //delphi程序窗口名称
ll_winhandle = findwindow(ls_ClassName,ls_WindowName)
li_result = RegisterWindowMessage(1111) //注册系统消息,返回系统唯一消息号
messagebox(“提示”,”知道”)
else
messagebox(“提示”,”没有找到”)
end if
Msg: LongInt;
hWndC : THandle;
{ Private declarations }
protected
procedure WndProc(var Message: TMessage); override;
begin
Msg := RegisterWindowMessage(1111);//返回系统唯一消息号,1111为自定义消息内容
Self.BringToFront;
var
mypt:Tpoint;
s:string;
begin
ShowMessage(inttostr(message.lparam) );
end ;
inherited;
end;