seanwhy
2024-01-09 15:52:22 +08:00
给你一个可行的思路,我公司其实就是这么干的:
1.首先写个 websocket 后台服务,以及对应的 js 库,用来在 IE 里输入网址时,你的启动页调用 js 库,告知后台服务;
2.后台服务抓取 IE 客户区句柄,抓取 Electron 窗口句柄,跨进程 SetParent ;
3.你的技术栈无需变动,使用 electron 好了;
4.运气好的话 Electron 就能嵌入到 IE 内,一般人看不出来,其实就是 Electron 窗口渲染替换了 IE 窗口指定区域的渲染;
5.运气不好的话,还有种处理方式:js 库检测指定 div 的位置大小,告知后台服务,后台服务调用 WINAPI 设置 Electron 窗口位置大小,注意,要 TOPMOST ;
6.很多小细节就不说了,比如置顶窗口覆盖问题,保活进程等。客户如果不是很抓细节,是看不出来问题的,你就是 ELectron 盖在 IE 上跑效果。
7.如果要和客户什么业务结合的话,比如他也有 ocx 控件要用,那可以 GG 了。