我要实现捕获鼠标移动消息得到鼠标移动的位置坐标,然后将获取的位置坐标数据发送到服务器!
先写了一个发送数据的线程类,在线程中实现跟服务器的连接以及发送数据,可是当捕获mouse_move
消息时,就执行线程!当鼠标一直移动时,就一直调用线程,这样做好像不太对!!同时捕获的坐标数据怎么传给线程类了??这些问题都不能解决!
请教我要实现此功能,同时要借用线程实现发送处理?应该怎么做才对?几个问题套在一起我想不出什么好的实现办法了,求大家帮我想想!谢谢!!!
先写了一个发送数据的线程类,在线程中实现跟服务器的连接以及发送数据,可是当捕获mouse_move
消息时,就执行线程!当鼠标一直移动时,就一直调用线程,这样做好像不太对!!同时捕获的坐标数据怎么传给线程类了??这些问题都不能解决!
请教我要实现此功能,同时要借用线程实现发送处理?应该怎么做才对?几个问题套在一起我想不出什么好的实现办法了,求大家帮我想想!谢谢!!!
"把原线程接收到的WM_MOUSEMOVE消息用PostMessage转发给新线程"
....
case WM_MOUSEMOVE:
::PostMessage(s_hWnd,WM_MOUSEMOVE, wParam, lParam);这里的参数怎么写,就可以转发给新线程???????
::AfxBeginThread(Move,s_hWnd,THREAD_PRIORITY_BELOW_NORMAL);
......
}
UINT CMoveThread::Move(LPVOID lpV) //线程执行函数
{
”新线程就重复的检查消息队列“ 这里应该怎么写?????
} 谢谢!麻烦你再给我看看!!!
case WM_MOUSEMOVE:
::PostThreadMessage(idThread,WM_MOUSEMOVE, wParam, lParam);
......}
idThread 是thread identifier,这里是不是得用CreateThread()完成创建线程,而不能用AfxBeginThread创建线程了 ??"新线程就重复的检查消息队列" 实现这个功能应该怎么写代码?实在不好意思,我对VC
不太熟悉,希望好心的朋友多帮忙!!!
struct mousestruct{
DWORD wParam;
DWORD lParam;
};
mousestruct ms----------
case WM_MOUSEMOVE:
EnterCriticalSection(&cs);
ms.wParam=wParam;
ms.lParam=lParam;
LeaveCriticalSection;线程中取wParam, lParam同样处理。