Getting Started with WebView2(developer preview) のすべての指示に従って、Microsoft Edge(Chromium)を使用するアプリを作成しました。ただし、Edgeブラウザーを見つけることができません。サンプルアプリ( this および this )も試しましたが、結果は同じでした。 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インストールが見つからない理由はありますか?
おそらく、ブラウザのバージョンはSDKの最新バージョンと互換性がありません。リストが正常に機能するためには、一部のバージョンに戻る必要がある場合があります。
https://docs.Microsoft.com/en-us/Microsoft-Edge/hosting/webview2/releasenotes
編集:WebView2の開発者の1人からの報告によると、現時点ではWebView2はまだプレビューバージョンであるため、常に最新バージョンのWebview2が最新のカナリアバージョンのEdgeに付属します。
https://github.com/MicrosoftEdge/WebViewFeedback/issues/103#issuecomment-575287157