Сбой инициализации WebViewProcessControl - PullRequest
0 голосов
/ 13 декабря 2018

Проблема

Я пытаюсь использовать «современный» API веб-представления в моей программе Win32, но когда я инициализирую WebViewControlProcess, программа зависает на пару секунд, а затем неожиданно завершает работу..

Минимальный пример

// cl minimal.cpp /EHsc /std:c++17 /await windowsapp.lib

#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Web.UI.Interop.h>

using namespace winrt;
using namespace Windows::Foundation;
using namespace Windows::Web::UI::Interop;

int main(void) {
    winrt::init_apartment();
    printf("Hello\n");

    WebViewControlProcess webviews = WebViewControlProcess();

    printf("    world!\n");
}

Ожидаемый результат

Hello
    world!

Фактический результат

Hello

Окружающая среда

I'mс использованием Windows 10.0.17134 (1803).

1 Ответ

0 голосов
/ 30 декабря 2018

Оказывается, WebViewProcessControl нуждается в вас winrt::init_apartment(apartment_type::single_threaded);.Не знаю, зачем ей однопоточная квартира, но она работает.

...