NPAPI插件如何接受命令+ o事件?

时间:2012-10-25 07:40:45

标签: plugins safari npapi

我遇到了麻烦,因为我的插件在使用命令+ o 时想要打开文件对话框,但是这个事件上的safari很有用.Anyone有解决方案吗?

2 个答案:

答案 0 :(得分:0)

我强烈怀疑你无能为力;作为一个插件,你是一个二等公民,在此过程中的客人。

答案 1 :(得分:0)

您可以接受命令事件,您必须侦听在NP_GetEntryPoints方法中为NPPluginFuncs结构的事件成员设置回调。

在该方法中,您将收到所有鼠标和键盘事件以及窗口焦点事件。您可以将第二个参数从void *转换为NPCocoaEvent,您可以在其中找到所有必需的参数,如事件类型,鼠标状态,键和焦点数据。

在深入了解NPCocoaEvent的'data'联合之前,请检查您正在处理的事件类型,否则您可以获得EXC_BAD_ACCESS。

我在使用浏览器共享命令时遇到问题,在我的情况下,Command + O应该只启动插件的文件打开对话框,但它也会触发浏览器打开文件对话框。据说,为事件处理方法返回TRUE应报告该插件处理该事件的浏览器,但我还没有运气。