WebViewProcessControl 初始化崩溃
WebViewProcessControl initialization crash
问题
我试图在我的 Win32 程序中使用 "modern" 网络视图 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)。
原来 WebViewProcessControl 需要您 winrt::init_apartment(apartment_type::single_threaded);
。我不知道为什么它需要一个单线程单元,但它可以工作。
问题
我试图在我的 Win32 程序中使用 "modern" 网络视图 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)。
原来 WebViewProcessControl 需要您 winrt::init_apartment(apartment_type::single_threaded);
。我不知道为什么它需要一个单线程单元,但它可以工作。