C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 由于后台线程上的事件而在ui线程上执行方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个后台线程轮询服务器.当有数据时,我想处理UI线程上的数据.如果我存储主窗口的hwnd.

我怎样才能获得一个特定的方法static void DataHandler(void * data)在UI线程上执行?

我认为创建一个传递hwnd和函数指针的计时器将起作用.但有更好的方法吗?我可以使用Postmessage以某种方式调用datahandler.

另外,我不是在编写UI代码,因此我无修改消息循环中的任何内容.

解决方法

你可以做的一件事 – 使用一个线程间信号对象可能就像一个布尔标志一样简单.当数据出现在服务器轮询线程上时,您可以发信号通知该标志.您可以在UI线程的消息循环中检查此标志.或者,您可以向UI线程发送自定义窗口消息.

现在我重新阅读了您的问题 – 由于您无法更改UI代码,因此这种方法无效.您可以使用WIN32 API添加自己的自定义消息挂钩函数解决此问题.

大佬总结

以上是大佬教程为你收集整理的c – 由于后台线程上的事件而在ui线程上执行方法全部内容,希望文章能够帮你解决c – 由于后台线程上的事件而在ui线程上执行方法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。