我正在用C ++编写一个大型x64应用程序的插件。我希望插件打开一个对话框并显示我的网站的Web视图。 我能够在macOS中使用WKWebView,效果很好。在Windows上,我正在评估CEF https://bitbucket.org/chromiumembedded/cef(请让我知道任何替代方案,理想情况下我希望它是基于Webkit的。)
让我们说托管我的插件的应用程序框架已经为我的插件创建了一个窗口并且拥有它自己的消息循环,所以我只能在一种WindowProc中接收事件。我也可以获得窗口的HWND。
我的实现受cefsimple示例的启发,因为cefclient太复杂了。我已经使用外部可执行文件实现了子进程架构,一切正常,直到它呈现窗口的客户区域。然后我有关闭窗口(它崩溃)和交互式调整窗口大小的问题(窗口框架调整大小,但客户区域中的Web视图不会调整大小)。
我已尝试过所有可能的组合,但我已经没有想法了。即:
除了邮件处理问题,我可能没有正确关闭浏览器,有什么建议吗?为什么这么复杂? WKWebView非常简单!
答案 0 :(得分:0)
没有错误消息,没有堆栈跟踪,没有源代码,没有OS / CEF版本 - 我怀疑这个问题是否可以解答。
我只能告诉你如何干净地关闭浏览器:在正确的时间调用CefShutdown(参见cefclient / cefsimple示例),并且在调用shutdown时不要保留对CEF对象的任何引用。