Задать вопрос
@denisk0n
Creative technology

Почему простейший проект С++ и CEF не отображает страницу?

Собрал под виртуалкой CEF. Тестовые проекты, типа cefsimple запускаются и работают!
Создал новый проект по VS2019CE. Минимум кода:
#include <Windows.h>

#include <include/cef_app.h>
#include <include/cef_client.h>
#include <include/wrapper/cef_helpers.h>

class Handler : public CefClient {
	IMPLEMENT_REFCOUNTING(Handler);
};

class App : public CefApp, public CefBrowserProcessHandler {
public:
	CefRefPtr<CefBrowserProcessHandler> GetBrowserProcessHandler() override {
		return this;
	}

	void OnContextInitialized() override {
		CEF_REQUIRE_UI_THREAD();

		CefRefPtr<Handler> handler(new Handler);

		CefWindowInfo wndInfo;
		wndInfo.SetAsPopup(NULL, "Hello world");

		CefBrowserSettings settings;
		CefBrowserHost::CreateBrowser(wndInfo, handler, "http://toster.ru", settings, nullptr, nullptr);
	}

public:
	IMPLEMENT_REFCOUNTING(App);
};

int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) {
	CefEnableHighDPISupport();

	CefMainArgs args{ hInstance };
	CefRefPtr<App> app = new App;

	int ec = CefExecuteProcess(args, app, nullptr);
	if (ec >= 0) {
		return ec;
	}

	CefSettings settings;
	CefInitialize(args, settings, app.get(), nullptr);
	CefRunMessageLoop();
	CefShutdown();

	return 0;
}


Проект компилируется, запускается, но желанный сайт я не в вижу - белое окно и все.

ЗЫ Выпилил из тестового проекта(cefsimple) все исходники и вставилй свой. Собрал. Запустил. Все ок %)
Сравнил все опции компилятора, линкера - ничего не отличается.

Как так? Куда копать?
  • Вопрос задан
  • 516 просмотров
Подписаться 1 Сложный Комментировать
Решения вопроса 1
@denisk0n Автор вопроса
Creative technology
Разобрался. Добавил манифест
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="Win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
    </dependentAssembly>
  </dependency>

  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <!--The ID below indicates application support for Windows Vista -->
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <!--The ID below indicates application support for Windows 7 -->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
      <!--The ID below indicates application support for Windows 8 -->
      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
      <!--The ID below indicates application support for Windows 8.1 -->
      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
      <!--The ID below indicates application support for Windows 10 -->
      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
    </application>
  </compatibility>

  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" />
      </requestedPrivileges>
    </security>
  </trustInfo>

</assembly>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы