导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2004/3/24 10:16:45
标题:
加入我的收藏
楼主:
我现在有两个程序,一个程序部份代码如下,向应用程序广播消息 function SendInterAppMessage(wMsgNum, wCmd: word; sData: shortstring): boolean; var Atom: TAtom; begin Result := True; if Length(sData) > 0 then begin sData := sData + #0; Atom := GlobalAddAtom(@sData[1]); //PostMessage(HWND_BROADCAST, wMsgNum, wCmd, Atom); SendMessage(HWND_BROADCAST, wMsgNum, wCmd, Atom); showmessage('go!'); end else begin SendMessage(HWND_BROADCAST, wMsgNum, wCmd, 0); // PostMessage(HWND_BROADCAST, wMsgNum, wCmd, 0); end; end; procedure TForm1.Button1Click(Sender: TObject); var sData: shortstring; const wMsgNum = WM_USER + 21; wCmd = 0; begin sData := 'testmessage'; SendInterAppMessage(wMsgNum, wCmd, sData); end; 另一个程序接收消息 private sMessage: string; procedure WMPrivateMessage(var Msg: TMessage); message WM_USER + 21; { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.WMPrivateMessage(var Msg: TMessage); var cBuf: array[0..255] of char; begin showmessage('sMessage'); if Msg.LParam <> 0 then begin GlobalGetAtomName(Msg.LParam, cBuf, 255); sMessage := StrPas(cBuf); showmessage(sMessage); GlobalDeleteAtom(Msg.LParam); end else begin sMessage := ''; end; showmessage(sMessage); inherited; end; 为什么收不到消息?请教各位大哥了,小弟第一次写消息,搞不清楚 谢谢!
----------------------------------------------
-
作者:
2004/3/24 12:06:16
1楼:
怎么没有人帮我?
----------------------------------------------
-
作者:
2004/3/24 12:12:46
2楼:
帮你喊一声!
此帖子包含附件: 大小: 18.9K
----------------------------------------------
我来自农村广阔的田野我的每一个动作都很夸张http://waterstone.51r.com
作者:
2004/3/24 15:45:28
3楼:
哪个大哥帮我一下我呀!
----------------------------------------------
-
作者:
2004/3/24 15:58:14
4楼:
看看看看
----------------------------------------------
巧克力PIKA