接收不到消息的疑惑!!!

zhhahuatian 2003-09-30 09:20:01
在向一个窗体发消息时,窗体最小化时收不到消息,我用的发消息是sendmessage();在vc中此问题不出现,我在主窗体中加入wmcopydata() message wm_copydata函数接收消息,当窗体最小化时接收不到消息,最大化时正常,当窗体在后台时也正常,只有最小花时收不到!!
...全文
84 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
laoli6666 2010-06-01
  • 打赏
  • 举报
回复
好像与Delphi编译环境有关,把Delphi关掉就可以接收到了!!!
我也是因为这个问题折腾了好多天!!好像Delphi开着时候有些功能就是实现不了。
snowfog 2003-09-30
  • 打赏
  • 举报
回复
关注
zhhahuatian 2003-09-30
  • 打赏
  • 举报
回复
我向窗体发消息是为了得到数据,写入数据库,是调用底层程序想窗体发copydata 消息,然后处理,收不到消息,就得不到数据
FrameSniper 2003-09-30
  • 打赏
  • 举报
回复
你向窗体发消息是要控制窗体的行为,窗体行为的产生是靠你的消息去控制的
而窗体自己最小化是用户操作窗体产生的行为,这个时候窗体响应的是用户的操作,而不是你发的那个消息
Alanwn 2003-09-30
  • 打赏
  • 举报
回复
为什么呢?关注
xzhifei 2003-09-30
  • 打赏
  • 举报
回复
不知道你是怎么写的,下面是我经常用到的,决对没有问题

发送端:

procedure Init;
var
s : pchar;
h : hwnd;
buf:tagCOPYDATASTRUCT;
begin
h := FindWindow('TForm1', Nil);
if h <> 0 then
begin
GetMem(s,100);
buf.lpData :=s;
buf.cbData:=100;
buf.dwData :=100;
strpcopy(s, ParamStr(0));
SendMessage(h, WM_COPYDATA, 0, integer(@buf));
end;
end;

接收端:
procedure TForm1.WM_COPYDATA(var msg: TMessage);
var
P:^tagCOPYDATASTRUCT;
begin
p:=Pointer(Msg.lParam);
ShowMessage(strpas(p.lpData));
end;
GiltBook 2003-09-30
  • 打赏
  • 举报
回复
最小化时应该是可以接收消息的。
发送消息后是否还该加上Application.HandleMessage试试瞧!
“微信公众平台深度开发Java版 v2.0”系列课程共有6季,使用JAVA语言,系统讲解微信公众平台订阅号、服务号官方列出的全部功能接口,包括:自定义菜单、个性化菜单(按需定制菜单)、群发消息、客服消息(有限次消息推送)、模板消息接(无限次消息推送)、微信网页开发(微信WEB开发、微信游戏)、微信JSSDK开发、用户管理、获取用户基本信息、网页授权获取用户基本信息(通过WEB得到用户信息)、二维码(临时二维码、永久二维码)、事件推送、接收普通消息、被动回复用户消息,等知识点。 以及,针对微信公众号开发的服务端架构设计方案。课程以微信公众号开发视角,讲解JAVA开发微信公众号所需的框架、第三方工具。 购买套餐还赠送经典微信开发课程——[微信公众号_独立知识点]环境搭建。该课程针对各种复杂的网络环境,讲解如何构建开发环境,已解决“没有服务器”、“没有固定IP”等开发者遇到的窘境。 课程采用独立知识点讲解,一个知识点,一组课程,真正做到“简单、高效、”以短的时间、实现的学习。更多课程信息请访问CSDN。网址:http://edu.csdn.net/lecturer/631 “微信公众平台企业号开发Java版”陆续上线。详情 qq2326321088

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧