Plugins 使用NPAPI检测浏览器最小化

Plugins 使用NPAPI检测浏览器最小化,plugins,npapi,Plugins,Npapi,是否有一种方法可以使用NPAPI来确定浏览器是否最小化。不是直接的。根据您想要的平台(您应该真正指定类似的东西),可能有一种方法 例如,在windows上,您可能能够获取浏览器HWND(NPN_GetValue with NPNVnetscapeWindow),然后使用windows API调用检查该窗口的状态 在mac电脑上,你将会有一段艰难的时光;您可以通过传递到NPP_SetWindow的剪辑信息进行直觉,但这并不能告诉您浏览器是否最小化,或者插件(甚至选项卡)是否不可见。同样,您需要尝试

是否有一种方法可以使用NPAPI来确定浏览器是否最小化。

不是直接的。根据您想要的平台(您应该真正指定类似的东西),可能有一种方法

例如,在windows上,您可能能够获取浏览器HWND(NPN_GetValue with NPNVnetscapeWindow),然后使用windows API调用检查该窗口的状态

在mac电脑上,你将会有一段艰难的时光;您可以通过传递到NPP_SetWindow的剪辑信息进行直觉,但这并不能告诉您浏览器是否最小化,或者插件(甚至选项卡)是否不可见。同样,您需要尝试找出一种方法来使用系统调用找到返回真实窗口的方法,但在Mac上这将是非常重要的

Linux我不确定;如果您使用XEmbed(Chromium唯一支持的东西),您会得到一个GtkSocket,我不知道您是否可以使用它返回到检查最小化状态所需的位置


所以简单的答案是否定的;NPAPI没有提供类似的东西。您只需尝试找到它确实提供的东西,以提供足够的信息来破解它。

因为我使用的是核心动画层。我放了一个计时器,用来检查candraw回调的频率。如果两次回调之间的时间差大于一秒,我假设插件最小化或隐藏