MFC嵌入cef3

本文介绍了如何在MFC应用程序中集成Chromium浏览器引擎。通过重写启动代码和设置全局变量,实现Chromium的初始化及二次进程执行。此外,还提供了在关闭窗口时释放资源的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

全局变量:
CefRefPtr<ClientApp> CefApp=NULL;

重写MFC启动代码:

        //添加以下代码,开始
        CefMainArgs main_args;//(hInstance);
    CefApp = new ClientApp();

  // Execute the secondary process, if any.
  int exit_code = CefExecuteProcess(main_args, CefApp.get(), NULL);
  if (exit_code >= 0)
    return exit_code;


  // Parse command line arguments. The passed in values are ignored on Windows.
 // AppInitCommandLine(0, NULL);

  CefSettings settings;
  settings.multi_threaded_message_loop=true;
  //settings


  // Populate the settings based on command line arguments.
 // AppGetSettings(settings);

  // Initialize CEF.
  if(!CefInitialize(main_args, settings, CefApp.get(), NULL))
  {
     ASSERT(0);
  }
        //结束
         CWinThread *pThread = AfxGetThread();//获取主线程指针
         CWinApp *pApp = AfxGetApp();
         AfxWinInit();
         ....
         pApp->InitApplication();
         ...
         pThread->InitInstance();//初始化应用程序实例
         ...
         nReturnCode = pThread->Run();//开始消息循环
         CefShutdown();
        return nReturnCode;

}

在MFC中void CMainFrame::OnClose()添加以下代码

?
1
  ::DestroyWindow(hMessageWnd);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值