本机有一个VC做的Socket监听程序,监听远端服务器。收到远端的服务器的消息后,会给我机器上一个叫“信令测试任务”的窗体发送消息,
请问我如何在该窗体获得这些消息??该用什么函数?
请问我如何在该窗体获得这些消息??该用什么函数?
解决方案 »
- 一个不解的问题
- 急 !!! dbgirdeh的字段求和是如何设置的啊 (好心人帮帮忙,求人!)
- 关于mssql自增主键的处理,读过李维的"高效数据库"后,使用clientdataset做为数据操做的控件
- 有关access数据库的备份和还原问题?
- 在一个程序中,会不会中断一个过程,转而执行另一个过程?
- 数据库超级难题,大侠救我!
- 谁能给我解释下这两个概念~!
- 关于将FOXPRO 6.0 的DBF文件导入ACCESS2000的问题?
- PDOXUSRS.LCK错误
- 有谁懂点用IS制作安装盘的?我怎么做也不对,有没有简单的办法?比如 在注册表中。。。
- 关于MDIChild问题
- 有没有人看到书店还有这本书:《可视化OpenGL程序设计》, 出版社:清华 作者:费广正等
procedure MsgProc(var Message); Message 那个消息的值如WM_User + $100;然后在下面写代码procedure TXXXForm.MsgProc(var Message);
begin
//
end;
Form1: TForm1;
const
WM_SHAKEHAND = WM_USER + 3333;
procedure WndProc( var msg: TMessage ); override;
procedure TForm1.WndProc(var msg: TMessage);
begin
case msg.msg of WM_SHAKEHAND :
begin
//YourReceiveProc( msg.LParam, msg.WParam );
SendMessage(msg.LParam,WM_SHAKEHAND,0,Self.Handle);
showMessage('接受到了');
end; end;
inherited WndProc(msg);
end;第二种方法
procedure Mymessage(var t:TWmCopyData);message WM_COPYDATA;procedure TForm1.Mymessage(var t:TWmCopyData);
begin
Edit1.text:=StrPas(t.CopyDataStruct^.lpData);//接受数据并显示。
end;
发送消息代码两种都有,自己区分一下:
var
HChild: Hwnd;
ds: TCopyDataStruct;
begin
ds.cbData := Length (Edit1.Text) + 1;
GetMem (ds.lpData, ds.cbData ); //为传递的数据区分配内存
StrCopy (ds.lpData, PChar (Edit1.Text)); HChild := FindWindow(nil,PChar('窗口的名字'));
if HChild <>0 then
begin
SendMessage (HChild, WM_COPYDATA, Handle ,Cardinal(@ds)); // 发送WM_COPYDATA消息 PostMessage(HChild ,WM_SHAKEHAND,0,0);
ShowMessage('发送消息了!');
end;
FreeMem (ds.lpData); //释放资源 //SendMessage(HChild,WM_SHAKEHAND,0,0);
Socket监听程序是如何发送消息的?Socket监听程序是自己写的程序?