WndProc接收不到消息

SineMetu1 2015-06-11 11:22:43
重写WndProc接收JoyStick(游戏操纵杆)的消息, 当开启一个其他线程的时候,JoyStick(游戏操纵杆)的自定义消息就接收不到了,求大家帮助
...全文
282 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2015-06-11
  • 打赏
  • 举报
回复
没看懂你想表达什么 你是在其他线程里调用WndProc?
SineMetu1 2015-06-11
  • 打赏
  • 举报
回复
引用 3 楼 Z65443344 的回复:
还是没看懂 把你的关键代码放出来看看,执行了什么东西之后就接收不到了?

Public Class frm_Main
    Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
        Try
            Select Case m.Msg
                Case JoyStick.MM_JOY1BUTTONDOWN
                    joystickt.DoJoyStickEvent(m)
                Case JoyStick.MM_JOY1BUTTONUP
                    joystickt.DoJoyStickEvent(m)
                Case JoyStick.MM_JOY1MOVE
                    joystickt.DoJoyStickEvent(m)
                Case JoyStick.MM_JOY1ZMOVE
                    joystickt.DoJoyStickEvent(m)
            End Select
            MyBase.WndProc(m)
        Catch ex As Exception
            Console.WriteLine(ex.ToString())
        End Try
    End Sub
End Class
这个是接收Joystick的四个方向的信息, 当开启一个线程后(线程里有一些算法), 再移动JoyStick, 方法WndProc就接收不到这四个消息了, 其他消息还是可以接收的.
於黾 2015-06-11
  • 打赏
  • 举报
回复
还是没看懂 把你的关键代码放出来看看,执行了什么东西之后就接收不到了?
SineMetu1 2015-06-11
  • 打赏
  • 举报
回复
引用 1 楼 Z65443344 的回复:
没看懂你想表达什么 你是在其他线程里调用WndProc?
在主界面类中调用的, 一般可以接收的, 这个界面上有个相机的控件界面, 打开后就接收不到了.

16,556

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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