WebViewProcessControl初始化崩溃

时间:2018-12-13 02:31:33

标签: c++ windows winapi webview windows-runtime

问题

我试图在Win32程序中使用“现代” Web视图API,但是当我初始化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

环境

我正在使用Windows 10.0.17134(1803)。

1 个答案:

答案 0 :(得分:1)

结果证明WebViewProcessControl需要您winrt::init_apartment(apartment_type::single_threaded);。我不知道为什么它需要一个单线程单元,但是可以。