我用Delphi在本地建立了一个专用消息队列,但不知道该如何创建一个消息并将它发送到
该队列中,又该如何从该队列中取出消息。请问哪位仁兄能够指导一下,谢谢我是通过调用API建立的,
大概是这个样子:
var
MyQueue: Variant;
begin
MyQueue := CreateOleObject('MSMQ.MSMQUEUEINFO');
..
end;
该队列中,又该如何从该队列中取出消息。请问哪位仁兄能够指导一下,谢谢我是通过调用API建立的,
大概是这个样子:
var
MyQueue: Variant;
begin
MyQueue := CreateOleObject('MSMQ.MSMQUEUEINFO');
..
end;
解决方案 »
- 请教IdHttpServer服务器如何取得对方连接IP
- 一个关于d6中打开form窗口的问题
- 求助:关于Rave报表页数显示的问题。
- 本人刚学Delphi,有个问题,多谢
- 各位大侠:如何控制dbgrid中行的背景显示颜色问题?先谢!
- 纳闷中,高手快来啊 ,奇怪的问题
- 急急急!!在线等待,一个奇怪的问题
- BDE+ORACLE,TQuery的RequestLive不能设为True?
- 菜鸟学delphi第二天遇到的问题??
- 今天收到了反动邮件链接地址是“http://www.bigtruth.f2s.com/index.htm”,谁帮我黑了他,155分送上。
- 我看到这里的变了,什么都变了,顺便测试一下人气,我怀疑CSDN的下一步……
- 吐血!我怎么也记不起来怎样进行乘方运算了!
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
procedure Edit1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
WM_MY_WINDOW_MESSAGE : Integer;implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
begin
WM_MY_WINDOW_MESSAGE := RegisterWindowMessage('MyMessage');end;procedure TForm1.Edit1Change(Sender: TObject);
Var
iReceive : Integer;
hWindow : Hwnd;
begin
iReceive := GlobalAddAtom('This is my test!');
hWindow := FindWindow(0,'Receive String');
if hWindow = 0 then exit;
if iReceive > 0 then
begin
PostMessage(hWindow ,WM_MY_WINDOW_MESSAGE,iReceive,0);
//HWND_BROADCAST
end;
end;end.
unit ReceiveString;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
protected
procedure WndProc(Var Message : Tmessage); override;
end;var
Form1: TForm1;
WM_MY_WINDOW_MESSAGE : Integer;implementation{$R *.DFM}{ TForm1 }procedure TForm1.WndProc(var Message: Tmessage);
Var
sBuf : Array [0..255] of char;
begin
if (Message.Msg = Cardinal(WM_MY_WINDOW_MESSAGE )) then
begin
if (GlobalGetAtomName(Message.wParam,@sBuf[0],255) > 0) then
begin
ShowMessage(StrPas(@sbuf[0]));
GlobalDeleteAtom(Message.Wparam);
end;
end;
inherited;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
WM_MY_WINDOW_MESSAGE := RegisterWindowMessage('MyMessage');
end;end.