我希望我的IE扩展的BHO实例能够共享公共数据.我只需要他们分享几个变量,所以我试图找到一个简单的问题解决方案.
我能想到的替代方案,从更容易到更复杂:
1)向/从文件系统或注册表写入/读取数据,请参阅MSDN article和Codeproject article.问题:是否可以从运行在不同线程中的BHO实例访问此信息?
2)开发与所有BHO实例通信的Windows服务或后台应用程序,请参阅MSDN article.问题:我没有IDEA如何制作这个或从哪里开始.我担心用户必须安装很多东西.
3)提供IPC机制,以便不同的BHO实例可以直接相互通信.与使用IGlobalInterfaceTable类似,请参阅ookii article.问题:是的,您可以在此IGlobalInterfaceTable中存储指针并获取cookie以便访问它们,但是如何在BHO实例1中与BHO实例2共享一个cookie,以便第二个实例可以第一个访问插入IGlobalInterfaceTable的数据?我们不是再次遇到相同的数据共享问题吗?
好吧,正如你所看到的,经过一整周寻找解决方案后,我根本就不知道如何开始处理这个问题.任何帮助将不胜感激.
最佳答案 通常,内存映射文件用于此目的.但是,这是一项非常重要的工作,因为您必须确保它们已正确配置ACL以允许跨进程访问(每个选项卡可能位于不同的进程中)并跨多个完整性级别工作.