winform DefWndProc 阻塞问题

tr3301103 2016-06-01 04:02:12
最近使用别人的DLL时需要用到DefWndProc,但是常常会发生阻塞,就是DefWndProc收到不消息。
第一次使用这个函数,不是很明白。请大神赐教!!
DefWndProc函数中做两件事:(1)打印消息到主窗口 (2)使用线程池,启动一个子线程,业务逻辑处理都在子线程中执行
...全文
372 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tr3301103 2016-06-02
  • 打赏
  • 举报
回复
引用 1 楼 shingoscar 的回复:
这个方法的本体是WndProc
谢谢回复,我用WndProc也试过,还是一样。 程序不是每次都没有回复,刚启动以后一切操作都正常。但是让程序开着,不做任何操作,十几二十秒之后,自定义的消息事件就收不到了。在WndProc中设置断点,其他系统消息事件还是可以收到。 而且,在WndProc中的switch中设置断点,然后启动程序,让代码在断点处停留一段时间,去掉断点后,自定义的消息事件也会收不到。 搞一天了,还是没弄明白。 希望懂得大神帮帮忙!
tr3301103 2016-06-02
  • 打赏
  • 举报
回复
终于解决了,在使用自定义的消息事件前,需要把主窗口句柄传递给我调用的DLL,而我是在子线程中把句柄传递给DLL的,就导致DLL无法将事件传递给我的WndProc函数。 所以解决办法就是在主线程中将窗口句柄传递给DLL就可以了!
Poopaye 2016-06-01
  • 打赏
  • 举报
回复
这个方法的本体是WndProc

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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