hur.cn - 华软网

 热门搜索

非指定的窗口为什么响应POSTMESSAGE消息?

  作者:未知    来源:网络    更新时间:2011/1/6
我定义了一个用户消息:WM_SEND,准备由主窗口发送POSTMESSAGE给窗口A、B。

现在窗口A中已定义了WM_SEND的响应函数,窗口B中还没有定义WM_SEND的响应函数。

当我向窗口B发送WM_SEND消息时,窗口A却响应了WM_SEND消息。这是什么原因?难道窗口B不响应,消息就由窗口A来接收?

我不太明白这个消息的响应规则,请高手们能为我解惑。谢谢!
---华软 网友回答---
你发送消息是:::PostMessage(hwndB,WM_SEND,0,0);这样发的吗?
如果是这样,是不可能跑到窗口A去的,你自己看下是否是将句柄弄串了吧
---华软网友回复---
引用 1 楼 tragicguy 的回复:
你发送消息是:::PostMessage(hwndB,WM_SEND,0,0);这样发的吗?
如果是这样,是不可能跑到窗口A去的,你自己看下是否是将句柄弄串了吧

赞成
---华软网友回复---
窗口A和B是什么关系
---华软网友回复---
是用::PostMessage(hwndB,WM_SEND,0,0)方式发送;
窗口A和B是平等关系,分别在两个线程之中。主线程可向任一线程的窗口发送消息。
---华软网友回复---
这部可能,你一定哪儿搞错了
引用 4 楼 stevenuserregister 的回复:
是用::PostMessage(hwndB,WM_SEND,0,0)方式发送;
窗口A和B是平等关系,分别在两个线程之中。主线程可向任一线程的窗口发送消息。

---华软网友回复---
问题已经找到。

我主窗口中有一个下拉框,用来选择向窗口A或窗口B发送消息。追踪调试时,发现运行时虽然我选择向窗口B发送消息,但下拉框的值照旧窗口A,所以依然是窗口A响应了消息。

原以为下拉框的值根据我选择新值会自动更新转变,实际情况不是这样。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。