嗨,我的SendMessage
.
看起来消息永远不会到达我的表单(我正在使用 Winspector Spy 查看在我的表单中注册了哪些消息),这很奇怪,因为我确信我正在发送到当前表单的正确句柄。
SendMessage 在一个 dll 中,但这不应该与它有任何关系。
//sStr is just an input where i type in the Handler address;
SendMessage(Integer(sStr),WM_COPYDATA, Integer(Handle),Integer(@copyDataStruct));
SendMessage 每次都返回 0。
在接收端:
procedure WMCopyData(var Msg: TWMCopyData); message WM_CopyData;
procedure TMainForm.WMCopyData(var Msg: TWMCopyData);
var
s : string;
begin
s := PChar(Msg.CopyDataStruct.lpData);
showmessage(s);
//Send something back
msg.Result := 2006;
end;
我也尝试过其他消息,例如 WM_CLOSE。有谁知道为什么会失败?我正在使用德尔福 5。