H
hpsmall
Unregistered / Unconfirmed
GUEST, unregistred user!
主程序定义如下:
Const
CM_ParaMESSAGE = WM_USER + $1001;
{========================自定义消息处理===========================}
procedure RestoreRequest(var cmessage: TMessage); message CM_ParaMESSAGE;
procedure Tmainform.RestoreRequest(var cmessage: TMessage);
begin
。。。。
cmessage.Result := 1;
。。。。
end;
另外一个程序发送消息到主程序:
var
RvHandle: THandle;
begin
RvHandle := FindWindow(nil,'主程序标题');
if RvHandle = 0 then
ShowMessage('目标窗口没找到!')
else
PostMessage(RvHandle, CM_ParaMESSAGE, 0, 0);
end;
主程序没有任何反应,但如果在主程序的
procedure Tmainform.ApplicationEventsMessage(var Msg: tagMSG;
var Handled: Boolean);
中加入代码:
if Msg.message=CM_ParaMESSAGE then
Showok('Message Received!');
则显示'Message Received!对话框,这说明消息的确发送到了主程序,但最上面那个过程
接收不到!为什么?
Const
CM_ParaMESSAGE = WM_USER + $1001;
{========================自定义消息处理===========================}
procedure RestoreRequest(var cmessage: TMessage); message CM_ParaMESSAGE;
procedure Tmainform.RestoreRequest(var cmessage: TMessage);
begin
。。。。
cmessage.Result := 1;
。。。。
end;
另外一个程序发送消息到主程序:
var
RvHandle: THandle;
begin
RvHandle := FindWindow(nil,'主程序标题');
if RvHandle = 0 then
ShowMessage('目标窗口没找到!')
else
PostMessage(RvHandle, CM_ParaMESSAGE, 0, 0);
end;
主程序没有任何反应,但如果在主程序的
procedure Tmainform.ApplicationEventsMessage(var Msg: tagMSG;
var Handled: Boolean);
中加入代码:
if Msg.message=CM_ParaMESSAGE then
Showok('Message Received!');
则显示'Message Received!对话框,这说明消息的确发送到了主程序,但最上面那个过程
接收不到!为什么?