我可以知道如何使用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的主线程,因为创建的所有函数都是事件基础。
答案 0 :(得分:1)
推荐的方法是使用FB::Timer
,然后使用m_host->scheduleOnMainThread
回调主线程。
如果您只需要Windows,则可以使用WM_TIMER。
FireBreath代码库中的FBTestPlugin示例中有几乎所有这些示例