我可以知道如何使用 Firebreath 插件框架在主线程上创建周期性计时器回调吗?我试过 FB::Timer::getTimer(1, true, EventRunLoop);在 StaticInitialize() 上。当我调试创建的 dll 插件并将断点插入 EventRunLoop 时,我注意到我的 EventRunLoop 函数没有在主线程上运行,VC++ express 2008 总是指示我在工作线程而不是主线程中。
我知道 FB:Timer 是 boost::asio 的包装器。要使用 boost 创建 async_wait,我需要将 boost::asio::io_service io.run() 函数放入主线程。但是我不知道如何主动访问 NPAPI 或 Firebreath 的主线程,因为创建的所有函数都是基于事件的。
最佳答案
推荐的方法是使用FB::Timer
,然后使用m_host->scheduleOnMainThread
回调到主线程。
如果您只需要窗口,您可以使用 WM_TIMER。
在 FireBreath 代码库的 FBTestPlugin 示例中有几乎所有这些的示例
关于c++ - 主线程的 Firebreath 计时器回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23165709/