Я следовал всем инструкциям Начало работы с WebView2 (предварительный просмотр для разработчика) , чтобы создать приложение, использующее Microsoft Edge (Chromium). Однако он не может найти браузер Edge. Я также попробовал примеры приложений ( это и это ), но с теми же результатами. Я создал приложения как для 32-, так и для 64-разрядных.
При вызове CreateWebView2EnvironmentWithDetails()
получаю ошибку 0x80070002
, равную ERROR_FILE_NOT_FOUND
( Система не может найти указанный файл . )
HRESULT hr = CreateWebView2EnvironmentWithDetails(nullptr, nullptr, nullptr,
Callback<IWebView2CreateWebView2EnvironmentCompletedHandler>(
[hWnd](HRESULT result, IWebView2Environment* env) -> HRESULT {
// Create a WebView, whose parent is the main window hWnd
env->CreateWebView(hWnd, Callback<IWebView2CreateWebViewCompletedHandler>(
[hWnd](HRESULT result, IWebView2WebView* webview) -> HRESULT {
if (webview != nullptr) {
webviewWindow = webview;
}
// Resize WebView to fit the bounds of the parent window
RECT bounds;
GetClientRect(hWnd, &bounds);
webviewWindow->put_Bounds(bounds);
// Schedule an async task to navigate to Bing
webviewWindow->Navigate(L"https://www.bing.com/");
return S_OK;
}).Get());
return S_OK;
}).Get());
if (!SUCCEEDED(hr))
{
if (hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND))
{
MessageBox(
nullptr,
L"Couldn't find Edge installation. "
"Do you have a version installed that's compatible with this "
"WebView2 SDK version?",
nullptr, MB_OK);
}
else
{
std::wstringstream formattedMessage;
formattedMessage << L"Failed to create webview environment"
<< ": 0x" << std::hex << std::setw(8) << hr;
MessageBox(nullptr, formattedMessage.str().c_str(), nullptr, MB_OK);
}
}
У меня есть:
- Версия Edge 79.0.309.60 (официальная сборка) бета (64-битная)
- Windows 10.0.17134
- Visual Studio 2019 16.4.2
Есть идеи, почему моя установка Edge не найдена?