我遇到了麻烦,因为我的插件在使用命令+ o 时想要打开文件对话框,但是这个事件上的safari很有用.Anyone有解决方案吗?
答案 0 :(得分:0)
我强烈怀疑你无能为力;作为一个插件,你是一个二等公民,在此过程中的客人。
答案 1 :(得分:0)
您可以接受命令事件,您必须侦听在NP_GetEntryPoints方法中为NPPluginFuncs结构的事件成员设置回调。
在该方法中,您将收到所有鼠标和键盘事件以及窗口焦点事件。您可以将第二个参数从void *转换为NPCocoaEvent,您可以在其中找到所有必需的参数,如事件类型,鼠标状态,键和焦点数据。
在深入了解NPCocoaEvent的'data'联合之前,请检查您正在处理的事件类型,否则您可以获得EXC_BAD_ACCESS。
我在使用浏览器共享命令时遇到问题,在我的情况下,Command + O应该只启动插件的文件打开对话框,但它也会触发浏览器打开文件对话框。据说,为事件处理方法返回TRUE应报告该插件处理该事件的浏览器,但我还没有运气。