最近接到个需求需要做一个简单的版本浏览器安全输入控件,支持火狐,chrome,ie等。为了这个需求自选研究了现在的浏览器,发现最新的火狐和chrome都不支持npapi了,而ppapi又无法部署,nacl又是沙箱内运行...所以针对这个给出回复,支持IE,50之下的chrome,52之下的火狐,把OCX和NPAPI做到一个dll内。
一些开发技巧自己做下记录。
一、 ocx和npapi做到一个dll内,这个可以借助firebreath实现,但包装太多不喜欢,自己把两个接口整合到一个dll内了。
二、在ocx的注册函数内写入npapi的注册表,一次性注册两个插件。
三、控件内hook键盘,然后截取真正输入,然后再网上随机发扰乱码,这里注意重入,另外自己转换键盘消息真的很蛋疼。