调用一个相机的函数,按下开始按钮,开始数据传输后,PC端会创建一个数据接收线程,每接收到一帧数据都会调用一次 FrameRecvedCallback, 并以post方式发送消息到消息处理函数FrameRecvedMsgHandler进行图像数据处理。函数如下:
/* 带UI的数据帧接收回调, 以post方式发送消息, 在消息处理函数中操作数据帧 /
void __stdcall FrameRecved_Callback(uint cameraIp)
{
//以post方式发送消息
}
void FrameRecved_MsgHandler(uint cameraIp)
{
//锁定数据帧
const DataFrame frame = LockDataFrame(cameraIp);
if (frame == NULL)return;
//操作数据帧
DataFrameHeader* header = frame->pHeader;
printf(",%05d", header->Index);
//解锁数据帧
UnlockDataFrame(cameraIp);
}
请问上述提到的post方式发送消息到消息处理函数的过程要怎么实现呢?
你是不清楚,如何使用PostMessage?
你要大概了解一下windows的消息机制:
http://baike.baidu.com/link?url=4npOO0C6Cixs5MIZLY6P1bX9XqMFbAFMTQ9lHUs5aFWTLMpCm00_wYzMYfxQX9QRspeTenbytxO5F03VUGCv0_
https://msdn.microsoft.com/en-us/library/windows/desktop/ff381405(v=vs.85).aspx
然后你要自己定义,自定义消息:
因为不清楚你使用的框架,是否有mfc等,只能建议你看下:
https://msdn.microsoft.com/en-us/library/3yz7860h.aspx
https://msdn.microsoft.com/en-us/library/6d1asasd.aspx
SendMessage/PostMessage函数,关键看你消息定义的uMsg wParam lParam参数有什么要求。
http://blog.csdn.net/yyw610879290/article/details/39699039
http://www.cnblogs.com/walccott/p/4957110.html