c – 由于后台线程上的事件而在ui线程上执行方法
发布时间:2020-12-16 06:46:41 所属栏目:百科 来源:网络整理
导读:我有一个后台线程轮询服务器.当有数据时,我想处理UI线程上的数据.如果我存储主窗口的hwnd. 我怎样才能获得一个特定的方法static void DataHandler(void * data)在UI线程上执行? 我认为创建一个传递hwnd和函数指针的计时器将起作用.但有更好的方法吗?我可以
我有一个后台线程轮询服务器.当有数据时,我想处理UI线程上的数据.如果我存储主窗口的hwnd.
我怎样才能获得一个特定的方法static void DataHandler(void * data)在UI线程上执行? 我认为创建一个传递hwnd和函数指针的计时器将起作用.但有更好的方法吗?我可以使用PostMessage以某种方式调用datahandler. 另外,我不是在编写UI代码,因此我无法修改消息循环中的任何内容. 解决方法
你可以做的一件事 – 使用一个线程间信号对象可能就像一个布尔标志一样简单.当数据出现在服务器轮询线程上时,您可以发信号通知该标志.您可以在UI线程的消息循环中检查此标志.或者,您可以向UI线程发送自定义窗口消息.
现在我重新阅读了您的问题 – 由于您无法更改UI代码,因此这种方法无效.您可以使用WIN32 API添加自己的自定义消息挂钩函数来解决此问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 【Cocos2dx】计时器的使用,计时器的嵌套,与在计
- SQLite学习手册(数据表和视图)
- ruby-on-rails-3.1 – Rails资产管道在生产环境中
- cocos2d-js v3.5 使用cocos studio V2.3.0.1创建
- ruby-on-rails-3 – Gitlab在与apache和乘客的子
- ruby-on-rails – Ruby on Rails:如何在应用程序
- reactjs – React.js:findDOMNode和getDOMNode之
- VB.Net程序设计:动态添加按钮或者控件
- 正则表达式的尝试使用
- ruby-on-rails – 延迟的工作不会开始使用Capist
热点阅读