From a596c9fb1180b31a31545a75a7cdd3c9168096fb Mon Sep 17 00:00:00 2001 From: Eve Le Date: Mon, 7 Jun 2021 12:26:59 -0700 Subject: [PATCH 1/3] Add wincomp sample app to WebView2Samples --- .../WebView2SampleWinComp/.clang-format | 22 + SampleApps/WebView2SampleWinComp/.gitignore | 22 + SampleApps/WebView2SampleWinComp/App.cpp | 51 ++ SampleApps/WebView2SampleWinComp/App.h | 9 + .../WebView2SampleWinComp/AppWindow.cpp | 241 +++++++++ SampleApps/WebView2SampleWinComp/AppWindow.h | 65 +++ .../WebView2SampleWinComp/CheckFailure.cpp | 27 + .../WebView2SampleWinComp/CheckFailure.h | 33 ++ .../WebView2SampleWinComp/CompositionHost.cpp | 239 +++++++++ .../WebView2SampleWinComp/CompositionHost.h | 47 ++ SampleApps/WebView2SampleWinComp/README.md | 35 ++ SampleApps/WebView2SampleWinComp/Resource.h | 30 ++ .../WebView2SamplePage.html | 31 ++ .../WebView2SampleWinComp.ico | Bin 0 -> 46227 bytes .../WebView2SampleWinComp.rc | Bin 0 -> 7080 bytes .../WebView2SampleWinComp.sln | 31 ++ .../WebView2SampleWinComp.vcxproj | 219 ++++++++ .../WebView2SampleWinComp.vcxproj.filters | 82 +++ .../WebViewStartPageBackground.png | Bin 0 -> 62111 bytes SampleApps/WebView2SampleWinComp/framework.h | 15 + .../WebView2SampleWinComp/packages.config | 5 + SampleApps/WebView2SampleWinComp/pch.cpp | 9 + SampleApps/WebView2SampleWinComp/pch.h | 30 ++ .../WinComp-Sample-App-Screenshot.png | Bin 0 -> 97789 bytes SampleApps/WebView2SampleWinComp/small.ico | Bin 0 -> 46227 bytes SampleApps/WebView2SampleWinComp/targetver.h | 10 + SampleApps/WebView2Samples.sln | 472 ++++++++++-------- 27 files changed, 1504 insertions(+), 221 deletions(-) create mode 100644 SampleApps/WebView2SampleWinComp/.clang-format create mode 100644 SampleApps/WebView2SampleWinComp/.gitignore create mode 100644 SampleApps/WebView2SampleWinComp/App.cpp create mode 100644 SampleApps/WebView2SampleWinComp/App.h create mode 100644 SampleApps/WebView2SampleWinComp/AppWindow.cpp create mode 100644 SampleApps/WebView2SampleWinComp/AppWindow.h create mode 100644 SampleApps/WebView2SampleWinComp/CheckFailure.cpp create mode 100644 SampleApps/WebView2SampleWinComp/CheckFailure.h create mode 100644 SampleApps/WebView2SampleWinComp/CompositionHost.cpp create mode 100644 SampleApps/WebView2SampleWinComp/CompositionHost.h create mode 100644 SampleApps/WebView2SampleWinComp/README.md create mode 100644 SampleApps/WebView2SampleWinComp/Resource.h create mode 100644 SampleApps/WebView2SampleWinComp/WebView2SamplePage.html create mode 100644 SampleApps/WebView2SampleWinComp/WebView2SampleWinComp.ico create mode 100644 SampleApps/WebView2SampleWinComp/WebView2SampleWinComp.rc create mode 100644 SampleApps/WebView2SampleWinComp/WebView2SampleWinComp.sln create mode 100644 SampleApps/WebView2SampleWinComp/WebView2SampleWinComp.vcxproj create mode 100644 SampleApps/WebView2SampleWinComp/WebView2SampleWinComp.vcxproj.filters create mode 100644 SampleApps/WebView2SampleWinComp/WebViewStartPageBackground.png create mode 100644 SampleApps/WebView2SampleWinComp/framework.h create mode 100644 SampleApps/WebView2SampleWinComp/packages.config create mode 100644 SampleApps/WebView2SampleWinComp/pch.cpp create mode 100644 SampleApps/WebView2SampleWinComp/pch.h create mode 100644 SampleApps/WebView2SampleWinComp/screenshots/WinComp-Sample-App-Screenshot.png create mode 100644 SampleApps/WebView2SampleWinComp/small.ico create mode 100644 SampleApps/WebView2SampleWinComp/targetver.h diff --git a/SampleApps/WebView2SampleWinComp/.clang-format b/SampleApps/WebView2SampleWinComp/.clang-format new file mode 100644 index 00000000..26ee2353 --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/.clang-format @@ -0,0 +1,22 @@ +# Defines the coding style to apply. See: +# +Language: Cpp +BasedOnStyle: LLVM +AccessModifierOffset: -4 +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: None +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: false +AlignAfterOpenBracket: AlwaysBreak +AlwaysBreakAfterReturnType: None +BreakBeforeBraces: Allman +ColumnLimit: 96 +DerivePointerAlignment: false +IndentWidth: 4 +PointerAlignment: Left +PenaltyReturnTypeOnItsOwnLine: 1000 +TabWidth: 4 +UseTab: Never +... + diff --git a/SampleApps/WebView2SampleWinComp/.gitignore b/SampleApps/WebView2SampleWinComp/.gitignore new file mode 100644 index 00000000..48e776e3 --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/.gitignore @@ -0,0 +1,22 @@ +Debug/ +Release/ +ipch/ +x64/ +x86/ +ARM64/ +.vs/ +# Created by running event monitor +enc_temp_folder/ +packages/ + +# Override root .gitignore to ensure we pick up changes for the sample app +!*.sln +!*.vcxproj +!*.vcxproj.filters +!*.props + +# Ignore the binary generated version of the resource (.rc) file +*.aps + +# Make sure script debug config is checked in for vendor testing +!.vscode diff --git a/SampleApps/WebView2SampleWinComp/App.cpp b/SampleApps/WebView2SampleWinComp/App.cpp new file mode 100644 index 00000000..17274523 --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/App.cpp @@ -0,0 +1,51 @@ +// Copyright (C) Microsoft Corporation. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "pch.h" +#include "framework.h" +#include "App.h" +#include "Appwindow.h" +#include "CompositionHost.h" +#define MAX_LOADSTRING 100 +#define WM_LBUTTONDOWN 0x0201 + +// Global Variables: +HINSTANCE hInst; // current instance +int nCmdShow; +int RunMessagePump(); + +int APIENTRY wWinMain(_In_ HINSTANCE hInstance, + _In_opt_ HINSTANCE hPrevInstance, + _In_ LPWSTR lpCmdLine, + _In_ int m_nCmdShow) +{ + hInst = hInstance; + UNREFERENCED_PARAMETER(hPrevInstance); + UNREFERENCED_PARAMETER(lpCmdLine); + nCmdShow = m_nCmdShow; + + AppWindow appWindow; + int retVal = RunMessagePump(); + return retVal; +} + +// Run the message pump for one thread. +int RunMessagePump() +{ + HACCEL hAccelTable = LoadAccelerators(hInst, MAKEINTRESOURCE(IDC_WEBVIEW2SAMPLEWINCOMP)); + + MSG msg; + + // Main message loop: + while (GetMessage(&msg, nullptr, 0, 0)) + { + if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } + + return (int) msg.wParam; +} diff --git a/SampleApps/WebView2SampleWinComp/App.h b/SampleApps/WebView2SampleWinComp/App.h new file mode 100644 index 00000000..6adc910f --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/App.h @@ -0,0 +1,9 @@ +// Copyright (C) Microsoft Corporation. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#pragma once + +#include "resource.h" +extern HINSTANCE hInst; +extern int nCmdShow; \ No newline at end of file diff --git a/SampleApps/WebView2SampleWinComp/AppWindow.cpp b/SampleApps/WebView2SampleWinComp/AppWindow.cpp new file mode 100644 index 00000000..0dfe7814 --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/AppWindow.cpp @@ -0,0 +1,241 @@ +// Copyright (C) Microsoft Corporation. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "pch.h" + +#include "App.h" +#include "AppWindow.h" +#include "CheckFailure.h" +#include "CompositionHost.h" +#include + +static constexpr LPCWSTR s_subFolder = nullptr; +static constexpr WCHAR c_samplePath[] = L"WebView2SamplePage.html"; + +AppWindow::AppWindow() : m_winComp(std::make_unique()) +{ + WCHAR szTitle[MAX_LOADSTRING]; // The title bar text + CHECK_FAILURE(CoInitializeEx(NULL, COINIT_APARTMENTTHREADED)); + LoadStringW(hInst, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); + + // Perform application initialization: + m_mainWindow = CreateWindowW( + GetWindowClass(), szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, + nullptr, nullptr, hInst, nullptr); + SetWindowLongPtr(m_mainWindow, GWLP_USERDATA, (LONG_PTR)this); + ShowWindow(m_mainWindow, nCmdShow); + UpdateWindow(m_mainWindow); + + m_sampleUri = GetLocalUri(c_samplePath); + InitializeWebView(); +} + +// Register the Win32 window class for the app window. +PCWSTR AppWindow::GetWindowClass() +{ + // Only do this once + static PCWSTR windowClass = [] { + static WCHAR windowClass[MAX_LOADSTRING]; + LoadStringW(hInst, IDC_WEBVIEW2SAMPLEWINCOMP, windowClass, MAX_LOADSTRING); + + WNDCLASSEXW wcex; + + wcex.cbSize = sizeof(WNDCLASSEX); + + wcex.style = CS_HREDRAW | CS_VREDRAW; + wcex.lpfnWndProc = WndProcStatic; + wcex.cbClsExtra = 0; + wcex.cbWndExtra = 0; + wcex.hInstance = hInst; + wcex.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_WEBVIEW2SAMPLEWINCOMP)); + wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); + wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); + wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_WEBVIEW2SAMPLEWINCOMP); + wcex.lpszClassName = windowClass; + wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); + + RegisterClassExW(&wcex); + return windowClass; + }(); + return windowClass; +} + +LRESULT CALLBACK AppWindow::WndProcStatic(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + + if (auto app = (AppWindow*)GetWindowLongPtr(hWnd, GWLP_USERDATA)) + { + if (app->HandleWindowMessage(hWnd, message, wParam, lParam)) + { + return 0; + } + } + return DefWindowProc(hWnd, message, wParam, lParam); +} + +bool AppWindow::HandleWindowMessage(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + if (message >= WM_MOUSEFIRST && message <= WM_MOUSELAST) + { + m_winComp->OnMouseMessage(message, wParam, lParam); + return true; + } + + switch (message) + { + case WM_MOVE: + { + if (m_controller) + { + m_controller->NotifyParentWindowPositionChanged(); + } + return true; + } + case WM_SIZE: + { + RECT availableBounds = {0}; + GetClientRect(m_mainWindow, &availableBounds); + m_winComp->SetBounds(availableBounds); + return true; + } + case WM_COMMAND: + { + int wmId = LOWORD(wParam); + // Parse the menu selections: + switch (wmId) + { + case IDM_ABOUT: + DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); + return true; + case IDM_EXIT: + CloseAppWindow(); + return true; + } + break; + } + case WM_PAINT: + { + PAINTSTRUCT ps; + HDC hdc = BeginPaint(hWnd, &ps); + EndPaint(hWnd, &ps); + return true; + } + case WM_DESTROY: + PostQuitMessage(0); + return true; + } + return false; +} + +// Message handler for about box. +INT_PTR CALLBACK AppWindow::About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + switch (message) + { + case WM_INITDIALOG: + return (INT_PTR)TRUE; + case WM_COMMAND: + if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) + { + EndDialog(hDlg, LOWORD(wParam)); + return (INT_PTR)TRUE; + } + break; + } + return (INT_PTR)FALSE; +} + +void AppWindow::InitializeWebView() +{ + auto options = Microsoft::WRL::Make(); + HRESULT hr = CreateCoreWebView2EnvironmentWithOptions( + s_subFolder, nullptr, options.Get(), + Callback( + [this](HRESULT result, ICoreWebView2Environment* environment) -> HRESULT { + m_webViewEnvironment = environment; + wil::com_ptr + webViewEnvironment3 = + m_webViewEnvironment.try_query(); + + if (webViewEnvironment3) + { + CHECK_FAILURE( + webViewEnvironment3->CreateCoreWebView2CompositionController( + m_mainWindow, + Callback< + ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler>( + this, &AppWindow::OnCreateCoreWebView2ControllerCompleted) + .Get())); + } + return S_OK; + }) + .Get()); + assert(SUCCEEDED(hr)); +} + +HRESULT AppWindow::OnCreateCoreWebView2ControllerCompleted( + HRESULT result, ICoreWebView2CompositionController* compositionController) +{ + if (result == S_OK) + { + m_compositionController = compositionController; + CHECK_FAILURE(m_compositionController->QueryInterface(IID_PPV_ARGS(&m_controller))); + CHECK_FAILURE(m_controller->get_CoreWebView2(&m_webView)); + m_controller->put_IsVisible(true); + m_webView->Navigate(m_sampleUri.c_str()); + } + else + { + ShowFailure(result, L"Failed to create webview"); + } + m_winComp->Initialize(this); + return S_OK; +} + +void AppWindow::CloseWebView() +{ + if (m_controller) + { + m_controller->Close(); + m_controller = nullptr; + m_webView = nullptr; + } + m_webViewEnvironment = nullptr; +} + +void AppWindow::CloseAppWindow() +{ + CloseWebView(); + DestroyWindow(m_mainWindow); +} + +std::wstring AppWindow::GetLocalUri(std::wstring relativePath) +{ + std::wstring path = GetLocalPath(relativePath, false); + + wil::com_ptr uri; + CHECK_FAILURE(CreateUri(path.c_str(), Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME, 0, &uri)); + + wil::unique_bstr uriBstr; + CHECK_FAILURE(uri->GetAbsoluteUri(&uriBstr)); + return std::wstring(uriBstr.get()); +} + +std::wstring AppWindow::GetLocalPath(std::wstring relativePath, bool keep_exe_path) +{ + WCHAR rawPath[MAX_PATH]; + GetModuleFileNameW(hInst, rawPath, MAX_PATH); + std::wstring path(rawPath); + if (keep_exe_path) + { + path.append(relativePath); + } + else + { + std::size_t index = path.find_last_of(L"\\") + 1; + path.replace(index, path.length(), relativePath); + } + return path; +} \ No newline at end of file diff --git a/SampleApps/WebView2SampleWinComp/AppWindow.h b/SampleApps/WebView2SampleWinComp/AppWindow.h new file mode 100644 index 00000000..91081cea --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/AppWindow.h @@ -0,0 +1,65 @@ +// Copyright (C) Microsoft Corporation. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#pragma once +#include "pch.h" + +#include "framework.h" +#include + +using namespace Microsoft::WRL; + +#define MAX_LOADSTRING 100 + +class CompositionHost; + +class AppWindow +{ +public: + AppWindow(); + + ICoreWebView2Controller* GetWebViewController() + { + return m_controller.get(); + } + + ICoreWebView2CompositionController* GetWebViewCompositionController() + { + return m_compositionController.get(); + } + + ICoreWebView2* GetWebView() + { + return m_webView.get(); + } + + HWND GetMainWindow() + { + return m_mainWindow; + } + +private: + static LRESULT CALLBACK + WndProcStatic(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); + static INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); + static PCWSTR GetWindowClass(); + + bool HandleWindowMessage(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); + void InitializeWebView(); + HRESULT OnCreateCoreWebView2ControllerCompleted( + HRESULT result, ICoreWebView2CompositionController* compositionController); + void CloseWebView(); + void CloseAppWindow(); + std::wstring GetLocalUri(std::wstring relativePath); + std::wstring GetLocalPath(std::wstring relativePath, bool keep_exe_path); + + HWND m_mainWindow = nullptr; + std::unique_ptr m_winComp; + + wil::com_ptr m_webViewEnvironment; + wil::com_ptr m_compositionController; + wil::com_ptr m_controller; + wil::com_ptr m_webView; + std::wstring m_sampleUri; +}; diff --git a/SampleApps/WebView2SampleWinComp/CheckFailure.cpp b/SampleApps/WebView2SampleWinComp/CheckFailure.cpp new file mode 100644 index 00000000..341b61c1 --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/CheckFailure.cpp @@ -0,0 +1,27 @@ +// Copyright (C) Microsoft Corporation. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "CheckFailure.h" +#include "pch.h" + +#include +#include + +// Notify the user of a failure with a message box. +void ShowFailure(HRESULT hr, const std::wstring& message) +{ + std::wstringstream formattedMessage; + formattedMessage << message << ": 0x" << std::hex << std::setw(8) << hr; + MessageBox(nullptr, formattedMessage.str().c_str(), nullptr, MB_OK); +} + +// If something failed, show the error code and fail fast. +void CheckFailure(HRESULT hr, const std::wstring& message) +{ + if (FAILED(hr)) + { + ShowFailure(hr, message); + FAIL_FAST(); + } +} diff --git a/SampleApps/WebView2SampleWinComp/CheckFailure.h b/SampleApps/WebView2SampleWinComp/CheckFailure.h new file mode 100644 index 00000000..e1581db6 --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/CheckFailure.h @@ -0,0 +1,33 @@ +// Copyright (C) Microsoft Corporation. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "pch.h" + +#include + +// Notify the user of a failure with a message box. +void ShowFailure(HRESULT hr, const std::wstring& message = L"Error"); + +// If something failed, show the error code and fail fast. +void CheckFailure(HRESULT hr, const std::wstring& message = L"Error"); + +// Needs to be a separate macro because the preprocessor is weird +#define CHECK_FAILURE_STRINGIFY(arg) #arg + +// If we use a function-like macro to wrap a function call, the macro expansion covers the +// entire function call, and if that function call contains a lambda which spans many lines, +// it makes error messages, the __LINE__ macro, and debuggers less accurate. Instead, +// we make it a term-like macro which generates a partially-applied function. In effect, +// CHECK_FAILURE(MultiLineFunctionCall(...)); +// becomes +// ([](HRESULT hr){ CheckFailure(hr, "error message"); })(MultiLineFunctionCall(...)); +// so that MultiLineFunctionCall(...) doesn't have to be part of the macro expansion. +#define CHECK_FAILURE_FILE_LINE(file, line) \ + ([](HRESULT hr) { \ + CheckFailure( \ + hr, L"Failure at " CHECK_FAILURE_STRINGIFY(file) L"(" CHECK_FAILURE_STRINGIFY( \ + line) L")"); \ + }) +#define CHECK_FAILURE CHECK_FAILURE_FILE_LINE(__FILE__, __LINE__) +#define CHECK_FAILURE_BOOL(value) CHECK_FAILURE((value) ? S_OK : E_UNEXPECTED) diff --git a/SampleApps/WebView2SampleWinComp/CompositionHost.cpp b/SampleApps/WebView2SampleWinComp/CompositionHost.cpp new file mode 100644 index 00000000..ea544059 --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/CompositionHost.cpp @@ -0,0 +1,239 @@ +// Copyright (C) Microsoft Corporation. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "pch.h" + +#include "CheckFailure.h" +#include "CompositionHost.h" +#include + +using namespace winrt; +using namespace winrt::Windows::System; +using namespace winrt::Windows::UI; +using namespace winrt::Windows::UI::Composition; +using namespace winrt::Windows::UI::Composition::Desktop; +using namespace winrt::Windows::Foundation::Numerics; + +// offset value for each visual, make sure to update this when modifying number of visuals to +// be created +static const std::vector kOffSetValues{ + {0, 0}, {1.25f, 0}, {0.5f, 0.5f}, {0, 1.25f}, {1.25f, 1.25f}}; +static const size_t kNumberOfVisuals = kOffSetValues.size(); + +CompositionHost::~CompositionHost() +{ + if (m_compositionController) + { + m_compositionController->put_RootVisualTarget(nullptr); + DestroyWinCompVisualTree(); + } +} + +void CompositionHost::Initialize(AppWindow* appWindow) +{ + if (appWindow) + { + m_appWindow = appWindow; + m_controller = m_appWindow->GetWebViewController(); + m_compositionController = m_appWindow->GetWebViewCompositionController(); + GetClientRect(m_appWindow->GetMainWindow(), &m_appBounds); + EnsureDispatcherQueue(); + if (m_dispatcherQueueController) + m_compositor = Compositor(); + + if (m_compositor && m_compositionController) + { + CreateDesktopWindowTarget(m_appWindow->GetMainWindow()); + CreateCompositionRoot(); + CreateVisuals(); + ResizeAllVisuals(); + } + } +} + +void CompositionHost::EnsureDispatcherQueue() +{ + namespace abi = ABI::Windows::System; + + if (m_dispatcherQueueController == nullptr) + { + DispatcherQueueOptions options{ + sizeof(DispatcherQueueOptions), /* dwSize */ + DQTYPE_THREAD_CURRENT, /* threadType */ + DQTAT_COM_ASTA /* apartmentType */ + }; + + winrt::Windows::System::DispatcherQueueController controller{nullptr}; + check_hresult(CreateDispatcherQueueController( + options, reinterpret_cast(put_abi(controller)))); + m_dispatcherQueueController = controller; + } +} + +void CompositionHost::CreateDesktopWindowTarget(HWND window) +{ + namespace abi = ABI::Windows::UI::Composition::Desktop; + + auto interop = m_compositor.as(); + check_hresult(interop->CreateDesktopWindowTarget( + window, false, reinterpret_cast(put_abi(m_target)))); +} + +void CompositionHost::CreateCompositionRoot() +{ + m_rootVisual = m_compositor.CreateContainerVisual(); + m_rootVisual.RelativeSizeAdjustment({1.0f, 1.0f}); + m_rootVisual.Offset({0, 0, 0}); + m_target.Root(m_rootVisual); +} + +void CompositionHost::OnMouseMessage(UINT message, WPARAM wParam, LPARAM lParam) +{ + if (m_rootVisual && m_compositionController) + { + POINT point; + point.x = GET_X_LPARAM(lParam); + point.y = GET_Y_LPARAM(lParam); + UpdateVisual(point, message, wParam); + } +} + +void CompositionHost::DestroyWinCompVisualTree() +{ + if (m_webViewVisual) + { + m_webViewVisual = nullptr; + + m_rootVisual.Children().RemoveAll(); + m_rootVisual = nullptr; + + m_target.Root(nullptr); + m_target = nullptr; + } +} + +void CompositionHost::CreateWebViewVisual() +{ + if (m_controller && m_rootVisual) + { + m_webViewVisual = m_compositor.CreateContainerVisual(); + m_rootVisual.Children().InsertAtTop(m_webViewVisual); + CHECK_FAILURE(m_compositionController->put_RootVisualTarget( + m_webViewVisual.as().get())); + } +} + +void CompositionHost::AddElement() +{ + if (m_rootVisual) + { + auto element = m_compositor.CreateSpriteVisual(); + element.Brush(m_compositor.CreateColorBrush(RandomBlue())); + m_rootVisual.Children().InsertAtTop(element); + } +} + +void CompositionHost::UpdateVisual(POINT point, UINT message, WPARAM wParam) +{ + ContainerVisual selectedVisual = FindVisual(point); + if (selectedVisual == nullptr) + return; + + if (selectedVisual != m_webViewVisual && message == WM_LBUTTONDOWN) + { + selectedVisual.as().Brush(m_compositor.CreateColorBrush(RandomBlue())); + } + else if (selectedVisual == m_webViewVisual) + { + auto offset = selectedVisual.Offset(); + point.x -= offset.x; + point.y -= offset.y; + CHECK_FAILURE(m_compositionController->SendMouseInput( + static_cast(message), + static_cast(GET_KEYSTATE_WPARAM(wParam)), 0, + point)); + } +} + +ContainerVisual CompositionHost::FindVisual(POINT point) +{ + ContainerVisual visual{nullptr}; + auto visuals = m_rootVisual.Children(); + for (auto v : visuals) + { + auto offset = v.Offset(); + auto size = v.Size(); + if ((point.x >= offset.x) && (point.x < offset.x + size.x) && (point.y >= offset.y) && + (point.y < offset.y + size.y)) + { + visual = v.as(); + } + } + return visual; +} + +void CompositionHost::CreateVisuals() +{ + // use kNumberOfVisuals to make sure we don't create more visuals than the total number of + // kOffSetValues provided + for (auto i = 0; i < kNumberOfVisuals; ++i) + { + // create webview visual in the middle with multiple overlays to better demonstrate + // interaction with these visual objects + if (i == kNumberOfVisuals / 2) + { + CreateWebViewVisual(); + } + else + { + AddElement(); + } + } +} + +Color CompositionHost::RandomBlue() +{ + uint8_t random = (double)(double)(rand() % 255); + return ColorHelper::FromArgb(255, 50, 120, random); +} + +void CompositionHost::SetBounds(RECT bounds) +{ + m_appBounds = bounds; + if (m_webViewVisual && m_rootVisual) + { + ResizeAllVisuals(); + } +} + +void CompositionHost::SetWebViewVisualBounds() +{ + RECT desiredBounds = m_appBounds; + desiredBounds.top += LONG(m_webViewVisual.Offset().y); + desiredBounds.left += LONG(m_webViewVisual.Offset().x); + desiredBounds.bottom = LONG(m_webViewVisual.Size().y + desiredBounds.top); + desiredBounds.right = LONG(m_webViewVisual.Size().x + desiredBounds.left); + m_controller->put_Bounds(desiredBounds); +} + +void CompositionHost::ResizeAllVisuals() +{ + const float2 webViewSize = { + ((m_appBounds.right - m_appBounds.left) / 2.0f), + ((m_appBounds.bottom - m_appBounds.top) / 2.0f)}; + const float2 otherVisualSize = {webViewSize.x / 1.25f, webViewSize.y / 1.25f}; + + auto visuals = m_rootVisual.Children(); + size_t index = 0; + for (auto v : visuals) + { + const float2 updatedSize = v == m_webViewVisual ? webViewSize : otherVisualSize; + // make sure index won't go out of kOffSetValues' bound + const float2 offset = kOffSetValues[index % kNumberOfVisuals]; + v.Size(updatedSize); + v.Offset({webViewSize.x * offset.x, webViewSize.y * offset.y, 0.0f}); + ++index; + } + SetWebViewVisualBounds(); +} \ No newline at end of file diff --git a/SampleApps/WebView2SampleWinComp/CompositionHost.h b/SampleApps/WebView2SampleWinComp/CompositionHost.h new file mode 100644 index 00000000..f67ec50f --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/CompositionHost.h @@ -0,0 +1,47 @@ +// Copyright (C) Microsoft Corporation. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#pragma once +#include +#include +#include + +#include "Appwindow.h" +#include "WebView2EnvironmentOptions.h" +#include "WebView2Experimental.h" + +class CompositionHost +{ +public: + CompositionHost() = default; + ~CompositionHost(); + void Initialize(AppWindow* appWindow); + void OnMouseMessage(UINT message, WPARAM wParam, LPARAM lParam); + void SetBounds(RECT bounds); + +private: + void EnsureDispatcherQueue(); + void CreateDesktopWindowTarget(HWND window); + void CreateCompositionRoot(); + void CreateWebViewVisual(); + void DestroyWinCompVisualTree(); + void AddElement(); + void UpdateVisual(POINT point, UINT message, WPARAM wParam); + winrt::Windows::UI::Composition::ContainerVisual FindVisual(POINT point); + void CreateVisuals(); + winrt::Windows::UI::Color RandomBlue(); + void SetWebViewVisualBounds(); + void ResizeAllVisuals(); + + AppWindow* m_appWindow = nullptr; + wil::com_ptr m_controller; + wil::com_ptr m_compositionController; + + winrt::Windows::UI::Composition::Compositor m_compositor{nullptr}; + winrt::Windows::System::DispatcherQueueController m_dispatcherQueueController{nullptr}; + winrt::Windows::UI::Composition::Desktop::DesktopWindowTarget m_target{nullptr}; + winrt::Windows::UI::Composition::ContainerVisual m_rootVisual{nullptr}; + winrt::Windows::UI::Composition::ContainerVisual m_webViewVisual{nullptr}; + RECT m_appBounds = {}; +}; diff --git a/SampleApps/WebView2SampleWinComp/README.md b/SampleApps/WebView2SampleWinComp/README.md new file mode 100644 index 00000000..8a50ce12 --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/README.md @@ -0,0 +1,35 @@ +# WebView2 Sample WinComp + +This is a hybrid application built with the [Microsoft Edge WebView2](https://aka.ms/webview2) control. + +![Sample App Snapshot](\screenshots\WinComp-Sample-App-Screenshot.png) + +The WebView2SampleWinComp is an example of an application that embeds a WebView within a Win32 native application. It is built as a Win32 [Visual Studio 2019](https://visualstudio.microsoft.com/vs/) project and makes use of both C++ and HTML/CSS/JavaScript in the WebView2 environment. It also uses [Windows Runtime Composition APIs](https://docs.microsoft.com/en-us/uwp/api/windows.ui.composition?view=winrt-19041) (also called the Visual layer) to take avantage of the latest Windows 10 UI features and create better look, feel, and functionality in C++ Win32 applications. + +The API Sample showcases a selection of WebView2's event handlers and API methods that allow a native Win32 application to directly interact with a WebView and vice versa. + +If this is your first time using WebView, we recommend first following the [Getting Started](https://docs.microsoft.com/microsoft-edge/webview2/gettingstarted/win32) guide, which goes over how to create a WebView2 and walks through some basic WebView2 functionality. + +To learn more specifics about events and API Handlers in WebView2, you can refer to the [WebView2 Reference Documentation](https://docs.microsoft.com/microsoft-edge/webview2/webview2-api-reference). + +## Prerequisites + +- [Microsoft Edge (Chromium)](https://www.microsoftedgeinsider.com/download/) installed on a supported OS. Currently we recommend the latest version of the Edge Canary channel. +- [Visual Studio](https://visualstudio.microsoft.com/vs/) with C++ support installed. +- Latest pre-release version of our [WebView2 SDK](https://aka.ms/webviewnuget), which is included in this project. + +## Build the WebView2 Sample WinComp + +Clone the repository and open the solution in Visual Studio. WebView2 is already included as a NuGet package* in this project. + +- Clone this repository +- Open the solution in Visual Studio 2019** +- Set the target you want to build (Debug/Release, x86/x64/ARM64) +- Build the project file: _WebView2SampleWinComp.vcxproj_ + +That's it! Everything should be ready to just launch the app. + +*You can get the WebView2 NugetPackage through the Visual Studio NuGet Package Manager. + +**You can also use Visual Studio 2017 by changing the project's Platform Toolset in Project Properties/Configuration properties/General/Platform Toolset. You might also need to change the Windows SDK to the latest version available to you. + diff --git a/SampleApps/WebView2SampleWinComp/Resource.h b/SampleApps/WebView2SampleWinComp/Resource.h new file mode 100644 index 00000000..eaafdd8c --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/Resource.h @@ -0,0 +1,30 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by WebView2SampleWinComp.rc + +#define IDS_APP_TITLE 103 + +#define IDR_MAINFRAME 128 +#define IDD_WEBVIEW2SAMPLEWINCOMP_DIALOG 102 +#define IDD_ABOUTBOX 103 +#define IDM_ABOUT 104 +#define IDM_EXIT 105 +#define IDI_WEBVIEW2SAMPLEWINCOMP 107 +#define IDI_SMALL 108 +#define IDC_WEBVIEW2SAMPLEWINCOMP 109 +#define IDC_MYICON 2 +#ifndef IDC_STATIC +#define IDC_STATIC -1 +#endif +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS + +#define _APS_NO_MFC 130 +#define _APS_NEXT_RESOURCE_VALUE 129 +#define _APS_NEXT_COMMAND_VALUE 32771 +#define _APS_NEXT_CONTROL_VALUE 1000 +#define _APS_NEXT_SYMED_VALUE 110 +#endif +#endif diff --git a/SampleApps/WebView2SampleWinComp/WebView2SamplePage.html b/SampleApps/WebView2SampleWinComp/WebView2SamplePage.html new file mode 100644 index 00000000..047425b8 --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/WebView2SamplePage.html @@ -0,0 +1,31 @@ + + + + + + Microsoft Edge WebView2 + + + + +

WebView sample page

+

This page demonstrates basic interactions with visual objects in sample app

+ +

Interact with WebView:

+ + + + + + + \ No newline at end of file diff --git a/SampleApps/WebView2SampleWinComp/WebView2SampleWinComp.ico b/SampleApps/WebView2SampleWinComp/WebView2SampleWinComp.ico new file mode 100644 index 0000000000000000000000000000000000000000..b3ec03bd617f32e58128fa977fd6ac9605124f4b GIT binary patch literal 46227 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 + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {abac8d87-c87b-455c-8340-0a9b0cd9a206} + WebView2SampleWinComp + 10.0.18362.0 + + + + Application + true + v142 + Unicode + + + Application + false + v142 + true + Unicode + + + Application + true + v142 + Unicode + + + Application + false + v142 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + $(ProjectDir)$(Configuration)\$(Platform)\ + $(VC_IncludePath);$(WindowsSDK_IncludePath) + $(Platform)\$(Configuration)\ + + + false + $(ProjectDir)$(Configuration)\$(Platform)\ + $(VC_IncludePath);$(WindowsSDK_IncludePath) + $(Platform)\$(Configuration)\ + + + true + $(ProjectDir)$(Configuration)\$(Platform)\ + $(VC_IncludePath);$(WindowsSDK_IncludePath) + $(Platform)\$(Configuration)\ + + + false + $(ProjectDir)$(Configuration)\$(Platform)\ + $(VC_IncludePath);$(WindowsSDK_IncludePath) + + + + Level3 + true + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + Use + pch.h + stdcpp17 + + + Windows + true + windowsapp.lib;Version.lib;urlmon.lib;onecore.lib + + + + + Level3 + true + true + true + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + Use + pch.h + stdcpp17 + + + Windows + true + true + true + windowsapp.lib;Version.lib;urlmon.lib;onecore.lib; + + + + + Level3 + true + _DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + Use + pch.h + stdcpp17 + + + Windows + true + windowsapp.lib;Version.lib;urlmon.lib;onecore.lib + %(AdditionalLibraryDirectories) + + + + + Level3 + true + true + true + NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + Use + pch.h + stdcpp17 + + + Windows + true + true + true + windowsapp.lib;Version.lib;urlmon.lib;onecore.lib; + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + \ No newline at end of file diff --git a/SampleApps/WebView2SampleWinComp/WebView2SampleWinComp.vcxproj.filters b/SampleApps/WebView2SampleWinComp/WebView2SampleWinComp.vcxproj.filters new file mode 100644 index 00000000..151278aa --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/WebView2SampleWinComp.vcxproj.filters @@ -0,0 +1,82 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Resource Files + + + + + Resource Files + + + Resource Files + + + + + + + + + Resource Files + + + \ No newline at end of file diff --git a/SampleApps/WebView2SampleWinComp/WebViewStartPageBackground.png b/SampleApps/WebView2SampleWinComp/WebViewStartPageBackground.png new file mode 100644 index 0000000000000000000000000000000000000000..21adb0162b27a27d1b66a741d8d09a470ce2cc95 GIT binary patch literal 62111 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 +// C RunTime Header Files +#include +#include +#include +#include diff --git a/SampleApps/WebView2SampleWinComp/packages.config b/SampleApps/WebView2SampleWinComp/packages.config new file mode 100644 index 00000000..88a58b1e --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/SampleApps/WebView2SampleWinComp/pch.cpp b/SampleApps/WebView2SampleWinComp/pch.cpp new file mode 100644 index 00000000..6c854890 --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/pch.cpp @@ -0,0 +1,9 @@ +// Copyright (C) Microsoft Corporation. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// pch.cpp: source file corresponding to the pre-compiled header + +#include "pch.h" + +// When you are using pre-compiled headers, this source file is necessary for compilation to succeed. diff --git a/SampleApps/WebView2SampleWinComp/pch.h b/SampleApps/WebView2SampleWinComp/pch.h new file mode 100644 index 00000000..167e6940 --- /dev/null +++ b/SampleApps/WebView2SampleWinComp/pch.h @@ -0,0 +1,30 @@ +// Copyright (C) Microsoft Corporation. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// pch.h: This is a precompiled header file. +// Files listed below are compiled only once, improving build performance for future builds. +// This also affects IntelliSense performance, including code completion and many code browsing +// features. However, files listed here are ALL re-compiled if any one of them is updated +// between builds. Do not add files here that you will be updating frequently as this negates +// the performance advantage. + +#ifndef PCH_H +#define PCH_H + +// add headers that you want to pre-compile here +#include "framework.h" +#include +#include +#include +#include + +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +// Windows Header Files: +#include + +#include +#include +#include +#include "WebView2.h" +#endif // PCH_H diff --git a/SampleApps/WebView2SampleWinComp/screenshots/WinComp-Sample-App-Screenshot.png b/SampleApps/WebView2SampleWinComp/screenshots/WinComp-Sample-App-Screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..4b149470e6e5ad3ad1616028b20331588b46f7ed GIT binary patch literal 97789 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 literal 0 HcmV?d00001 diff --git a/SampleApps/WebView2SampleWinComp/small.ico b/SampleApps/WebView2SampleWinComp/small.ico new file mode 100644 index 0000000000000000000000000000000000000000..b3ec03bd617f32e58128fa977fd6ac9605124f4b GIT binary patch literal 46227 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 diff --git a/SampleApps/WebView2Samples.sln b/SampleApps/WebView2Samples.sln index 00b36fb9..6badb64f 100644 --- a/SampleApps/WebView2Samples.sln +++ b/SampleApps/WebView2Samples.sln @@ -1,221 +1,251 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30011.22 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebView2APISample", "WebView2APISample\WebView2APISample.vcxproj", "{4F0CEEF3-12B3-425E-9BB0-105200411592}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebView2WindowsFormsBrowser", "WebView2WindowsFormsBrowser\WebView2WindowsFormsBrowser.csproj", "{59031776-19E7-442A-92DC-39165BD2DA0A}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebView2WpfBrowser", "WebView2WpfBrowser\WebView2WpfBrowser.csproj", "{68762FAD-5D35-4D53-B15B-36B521C4494E}" -EndProject -Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "WV2DeploymentWiXCustomActionSample", "WV2DeploymentWiXCustomActionSample\WV2DeploymentWiXCustomActionSample.wixproj", "{3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}" -EndProject -Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "WV2DeploymentWiXBurnBundleSample", "WV2DeploymentWiXBurnBundleSample\WV2DeploymentWiXBurnBundleSample.wixproj", "{352113BF-FB17-4FD4-A47B-7D1013BFB8AE}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WV2CDPExtensionWPFSample", "WV2CDPExtensionWPFSample\WV2CDPExtensionWPFSample.csproj", "{33C09167-E167-42FB-AECA-5BF6C24C3C40}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|ARM64 = Debug|ARM64 - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|ARM64 = Release|ARM64 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - Win7 Debug|Any CPU = Win7 Debug|Any CPU - Win7 Debug|ARM64 = Win7 Debug|ARM64 - Win7 Debug|x64 = Win7 Debug|x64 - Win7 Debug|x86 = Win7 Debug|x86 - Win7 Release|Any CPU = Win7 Release|Any CPU - Win7 Release|ARM64 = Win7 Release|ARM64 - Win7 Release|x64 = Win7 Release|x64 - Win7 Release|x86 = Win7 Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Debug|ARM64.Build.0 = Debug|ARM64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Debug|x64.ActiveCfg = Debug|x64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Debug|x64.Build.0 = Debug|x64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Debug|x86.ActiveCfg = Debug|Win32 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Debug|x86.Build.0 = Debug|Win32 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Release|Any CPU.ActiveCfg = Release|Win32 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Release|ARM64.ActiveCfg = Release|ARM64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Release|ARM64.Build.0 = Release|ARM64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Release|x64.ActiveCfg = Release|x64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Release|x64.Build.0 = Release|x64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Release|x86.ActiveCfg = Release|Win32 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Release|x86.Build.0 = Release|Win32 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Debug|Any CPU.ActiveCfg = Win7 Debug|Win32 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|ARM64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Debug|ARM64.Build.0 = Win7 Debug|ARM64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Debug|x86.ActiveCfg = Win7 Debug|Win32 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Debug|x86.Build.0 = Win7 Debug|Win32 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Release|Any CPU.ActiveCfg = Win7 Release|Win32 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Release|ARM64.ActiveCfg = Win7 Release|ARM64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Release|ARM64.Build.0 = Win7 Release|ARM64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Release|x86.ActiveCfg = Win7 Release|Win32 - {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Release|x86.Build.0 = Win7 Release|Win32 - {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|ARM64.Build.0 = Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|x64.ActiveCfg = Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|x64.Build.0 = Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|x86.ActiveCfg = Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|x86.Build.0 = Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|Any CPU.Build.0 = Release|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|ARM64.ActiveCfg = Release|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|ARM64.Build.0 = Release|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|x64.ActiveCfg = Release|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|x64.Build.0 = Release|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|x86.ActiveCfg = Release|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|x86.Build.0 = Release|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|Any CPU.ActiveCfg = Win7 Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|Any CPU.Build.0 = Win7 Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|ARM64.Build.0 = Win7 Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|x64.ActiveCfg = Win7 Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|x64.Build.0 = Win7 Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|x86.ActiveCfg = Win7 Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|x86.Build.0 = Win7 Debug|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|Any CPU.ActiveCfg = Win7 Release|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|Any CPU.Build.0 = Win7 Release|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|ARM64.Build.0 = Win7 Release|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|x64.ActiveCfg = Win7 Release|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|x64.Build.0 = Win7 Release|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|x86.ActiveCfg = Win7 Release|Any CPU - {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|x86.Build.0 = Win7 Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|ARM64.Build.0 = Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|x64.ActiveCfg = Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|x64.Build.0 = Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|x86.ActiveCfg = Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|x86.Build.0 = Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|Any CPU.Build.0 = Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|ARM64.ActiveCfg = Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|ARM64.Build.0 = Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|x64.ActiveCfg = Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|x64.Build.0 = Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|x86.ActiveCfg = Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|x86.Build.0 = Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|Any CPU.ActiveCfg = Win7 Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|Any CPU.Build.0 = Win7 Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|ARM64.Build.0 = Win7 Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|x64.ActiveCfg = Win7 Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|x64.Build.0 = Win7 Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|x86.ActiveCfg = Win7 Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|x86.Build.0 = Win7 Debug|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|Any CPU.ActiveCfg = Win7 Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|Any CPU.Build.0 = Win7 Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|ARM64.Build.0 = Win7 Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|x64.ActiveCfg = Win7 Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|x64.Build.0 = Win7 Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|x86.ActiveCfg = Win7 Release|Any CPU - {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|x86.Build.0 = Win7 Release|Any CPU - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Debug|Any CPU.ActiveCfg = Debug|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Debug|ARM64.ActiveCfg = Debug|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Debug|x64.ActiveCfg = Debug|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Debug|x86.ActiveCfg = Debug|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Debug|x86.Build.0 = Debug|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Release|Any CPU.ActiveCfg = Release|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Release|ARM64.ActiveCfg = Release|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Release|x64.ActiveCfg = Release|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Release|x86.ActiveCfg = Release|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Release|x86.Build.0 = Release|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|Any CPU.ActiveCfg = Debug|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|Any CPU.Build.0 = Debug|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|ARM64.ActiveCfg = Debug|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|ARM64.Build.0 = Debug|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|x64.ActiveCfg = Debug|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|x64.Build.0 = Debug|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|x86.ActiveCfg = Debug|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|x86.Build.0 = Debug|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|Any CPU.ActiveCfg = Release|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|Any CPU.Build.0 = Release|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|ARM64.ActiveCfg = Release|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|ARM64.Build.0 = Release|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|x64.ActiveCfg = Release|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|x64.Build.0 = Release|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|x86.ActiveCfg = Release|x86 - {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|x86.Build.0 = Release|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Debug|Any CPU.ActiveCfg = Debug|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Debug|ARM64.ActiveCfg = Debug|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Debug|x64.ActiveCfg = Debug|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Debug|x86.ActiveCfg = Debug|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Debug|x86.Build.0 = Debug|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Release|Any CPU.ActiveCfg = Release|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Release|ARM64.ActiveCfg = Release|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Release|x64.ActiveCfg = Release|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Release|x86.ActiveCfg = Release|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Release|x86.Build.0 = Release|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|Any CPU.ActiveCfg = Debug|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|Any CPU.Build.0 = Debug|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|ARM64.ActiveCfg = Debug|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|ARM64.Build.0 = Debug|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|x64.ActiveCfg = Debug|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|x64.Build.0 = Debug|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|x86.ActiveCfg = Debug|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|x86.Build.0 = Debug|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|Any CPU.ActiveCfg = Release|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|Any CPU.Build.0 = Release|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|ARM64.ActiveCfg = Release|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|ARM64.Build.0 = Release|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|x64.ActiveCfg = Release|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|x64.Build.0 = Release|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|x86.ActiveCfg = Release|x86 - {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|x86.Build.0 = Release|x86 - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|Any CPU.Build.0 = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|ARM64.Build.0 = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|x64.ActiveCfg = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|x64.Build.0 = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|x86.ActiveCfg = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|x86.Build.0 = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|Any CPU.ActiveCfg = Release|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|Any CPU.Build.0 = Release|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|ARM64.ActiveCfg = Release|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|ARM64.Build.0 = Release|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|x64.ActiveCfg = Release|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|x64.Build.0 = Release|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|x86.ActiveCfg = Release|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|x86.Build.0 = Release|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|Any CPU.ActiveCfg = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|Any CPU.Build.0 = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|ARM64.ActiveCfg = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|ARM64.Build.0 = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|x64.ActiveCfg = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|x64.Build.0 = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|x86.ActiveCfg = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|x86.Build.0 = Debug|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|Any CPU.ActiveCfg = Release|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|Any CPU.Build.0 = Release|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|ARM64.ActiveCfg = Release|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|ARM64.Build.0 = Release|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|x64.ActiveCfg = Release|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|x64.Build.0 = Release|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|x86.ActiveCfg = Release|Any CPU - {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|x86.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {1267B10C-4298-4F27-ADC5-FE558436C6D4} - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30011.22 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebView2APISample", "WebView2APISample\WebView2APISample.vcxproj", "{4F0CEEF3-12B3-425E-9BB0-105200411592}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebView2WindowsFormsBrowser", "WebView2WindowsFormsBrowser\WebView2WindowsFormsBrowser.csproj", "{59031776-19E7-442A-92DC-39165BD2DA0A}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebView2WpfBrowser", "WebView2WpfBrowser\WebView2WpfBrowser.csproj", "{68762FAD-5D35-4D53-B15B-36B521C4494E}" +EndProject +Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "WV2DeploymentWiXCustomActionSample", "WV2DeploymentWiXCustomActionSample\WV2DeploymentWiXCustomActionSample.wixproj", "{3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}" +EndProject +Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "WV2DeploymentWiXBurnBundleSample", "WV2DeploymentWiXBurnBundleSample\WV2DeploymentWiXBurnBundleSample.wixproj", "{352113BF-FB17-4FD4-A47B-7D1013BFB8AE}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WV2CDPExtensionWPFSample", "WV2CDPExtensionWPFSample\WV2CDPExtensionWPFSample.csproj", "{33C09167-E167-42FB-AECA-5BF6C24C3C40}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebView2SampleWinComp", "WebView2SampleWinComp\WebView2SampleWinComp.vcxproj", "{ABAC8D87-C87B-455C-8340-0A9B0CD9A206}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|ARM64 = Debug|ARM64 + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|ARM64 = Release|ARM64 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + Win7 Debug|Any CPU = Win7 Debug|Any CPU + Win7 Debug|ARM64 = Win7 Debug|ARM64 + Win7 Debug|x64 = Win7 Debug|x64 + Win7 Debug|x86 = Win7 Debug|x86 + Win7 Release|Any CPU = Win7 Release|Any CPU + Win7 Release|ARM64 = Win7 Release|ARM64 + Win7 Release|x64 = Win7 Release|x64 + Win7 Release|x86 = Win7 Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Debug|ARM64.Build.0 = Debug|ARM64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Debug|x64.ActiveCfg = Debug|x64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Debug|x64.Build.0 = Debug|x64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Debug|x86.ActiveCfg = Debug|Win32 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Debug|x86.Build.0 = Debug|Win32 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Release|Any CPU.ActiveCfg = Release|Win32 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Release|ARM64.ActiveCfg = Release|ARM64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Release|ARM64.Build.0 = Release|ARM64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Release|x64.ActiveCfg = Release|x64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Release|x64.Build.0 = Release|x64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Release|x86.ActiveCfg = Release|Win32 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Release|x86.Build.0 = Release|Win32 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Debug|Any CPU.ActiveCfg = Win7 Debug|Win32 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|ARM64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Debug|ARM64.Build.0 = Win7 Debug|ARM64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Debug|x86.ActiveCfg = Win7 Debug|Win32 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Debug|x86.Build.0 = Win7 Debug|Win32 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Release|Any CPU.ActiveCfg = Win7 Release|Win32 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Release|ARM64.ActiveCfg = Win7 Release|ARM64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Release|ARM64.Build.0 = Win7 Release|ARM64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Release|x64.Build.0 = Win7 Release|x64 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Release|x86.ActiveCfg = Win7 Release|Win32 + {4F0CEEF3-12B3-425E-9BB0-105200411592}.Win7 Release|x86.Build.0 = Win7 Release|Win32 + {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|ARM64.Build.0 = Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|x64.ActiveCfg = Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|x64.Build.0 = Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|x86.ActiveCfg = Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Debug|x86.Build.0 = Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|Any CPU.Build.0 = Release|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|ARM64.ActiveCfg = Release|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|ARM64.Build.0 = Release|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|x64.ActiveCfg = Release|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|x64.Build.0 = Release|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|x86.ActiveCfg = Release|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Release|x86.Build.0 = Release|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|Any CPU.ActiveCfg = Win7 Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|Any CPU.Build.0 = Win7 Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|ARM64.Build.0 = Win7 Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|x64.ActiveCfg = Win7 Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|x64.Build.0 = Win7 Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|x86.ActiveCfg = Win7 Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Debug|x86.Build.0 = Win7 Debug|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|Any CPU.ActiveCfg = Win7 Release|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|Any CPU.Build.0 = Win7 Release|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|ARM64.Build.0 = Win7 Release|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|x64.ActiveCfg = Win7 Release|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|x64.Build.0 = Win7 Release|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|x86.ActiveCfg = Win7 Release|Any CPU + {59031776-19E7-442A-92DC-39165BD2DA0A}.Win7 Release|x86.Build.0 = Win7 Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|ARM64.Build.0 = Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|x64.ActiveCfg = Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|x64.Build.0 = Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|x86.ActiveCfg = Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Debug|x86.Build.0 = Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|Any CPU.Build.0 = Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|ARM64.ActiveCfg = Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|ARM64.Build.0 = Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|x64.ActiveCfg = Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|x64.Build.0 = Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|x86.ActiveCfg = Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Release|x86.Build.0 = Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|Any CPU.ActiveCfg = Win7 Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|Any CPU.Build.0 = Win7 Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|ARM64.Build.0 = Win7 Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|x64.ActiveCfg = Win7 Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|x64.Build.0 = Win7 Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|x86.ActiveCfg = Win7 Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Debug|x86.Build.0 = Win7 Debug|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|Any CPU.ActiveCfg = Win7 Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|Any CPU.Build.0 = Win7 Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|ARM64.Build.0 = Win7 Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|x64.ActiveCfg = Win7 Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|x64.Build.0 = Win7 Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|x86.ActiveCfg = Win7 Release|Any CPU + {68762FAD-5D35-4D53-B15B-36B521C4494E}.Win7 Release|x86.Build.0 = Win7 Release|Any CPU + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Debug|Any CPU.ActiveCfg = Debug|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Debug|ARM64.ActiveCfg = Debug|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Debug|x64.ActiveCfg = Debug|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Debug|x86.ActiveCfg = Debug|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Debug|x86.Build.0 = Debug|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Release|Any CPU.ActiveCfg = Release|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Release|ARM64.ActiveCfg = Release|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Release|x64.ActiveCfg = Release|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Release|x86.ActiveCfg = Release|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Release|x86.Build.0 = Release|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|Any CPU.ActiveCfg = Debug|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|Any CPU.Build.0 = Debug|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|ARM64.ActiveCfg = Debug|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|ARM64.Build.0 = Debug|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|x64.ActiveCfg = Debug|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|x64.Build.0 = Debug|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|x86.ActiveCfg = Debug|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Debug|x86.Build.0 = Debug|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|Any CPU.ActiveCfg = Release|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|Any CPU.Build.0 = Release|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|ARM64.ActiveCfg = Release|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|ARM64.Build.0 = Release|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|x64.ActiveCfg = Release|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|x64.Build.0 = Release|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|x86.ActiveCfg = Release|x86 + {3494E3E2-CB03-4283-B8F8-E1158CDBAF3F}.Win7 Release|x86.Build.0 = Release|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Debug|Any CPU.ActiveCfg = Debug|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Debug|ARM64.ActiveCfg = Debug|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Debug|x64.ActiveCfg = Debug|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Debug|x86.ActiveCfg = Debug|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Debug|x86.Build.0 = Debug|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Release|Any CPU.ActiveCfg = Release|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Release|ARM64.ActiveCfg = Release|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Release|x64.ActiveCfg = Release|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Release|x86.ActiveCfg = Release|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Release|x86.Build.0 = Release|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|Any CPU.ActiveCfg = Debug|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|Any CPU.Build.0 = Debug|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|ARM64.ActiveCfg = Debug|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|ARM64.Build.0 = Debug|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|x64.ActiveCfg = Debug|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|x64.Build.0 = Debug|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|x86.ActiveCfg = Debug|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Debug|x86.Build.0 = Debug|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|Any CPU.ActiveCfg = Release|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|Any CPU.Build.0 = Release|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|ARM64.ActiveCfg = Release|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|ARM64.Build.0 = Release|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|x64.ActiveCfg = Release|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|x64.Build.0 = Release|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|x86.ActiveCfg = Release|x86 + {352113BF-FB17-4FD4-A47B-7D1013BFB8AE}.Win7 Release|x86.Build.0 = Release|x86 + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|Any CPU.Build.0 = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|ARM64.Build.0 = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|x64.ActiveCfg = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|x64.Build.0 = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|x86.ActiveCfg = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Debug|x86.Build.0 = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|Any CPU.ActiveCfg = Release|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|Any CPU.Build.0 = Release|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|ARM64.ActiveCfg = Release|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|ARM64.Build.0 = Release|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|x64.ActiveCfg = Release|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|x64.Build.0 = Release|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|x86.ActiveCfg = Release|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Release|x86.Build.0 = Release|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|Any CPU.ActiveCfg = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|Any CPU.Build.0 = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|ARM64.ActiveCfg = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|ARM64.Build.0 = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|x64.ActiveCfg = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|x64.Build.0 = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|x86.ActiveCfg = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Debug|x86.Build.0 = Debug|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|Any CPU.ActiveCfg = Release|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|Any CPU.Build.0 = Release|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|ARM64.ActiveCfg = Release|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|ARM64.Build.0 = Release|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|x64.ActiveCfg = Release|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|x64.Build.0 = Release|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|x86.ActiveCfg = Release|Any CPU + {33C09167-E167-42FB-AECA-5BF6C24C3C40}.Win7 Release|x86.Build.0 = Release|Any CPU + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Debug|ARM64.ActiveCfg = Debug|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Debug|x64.ActiveCfg = Debug|x64 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Debug|x64.Build.0 = Debug|x64 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Debug|x86.ActiveCfg = Debug|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Debug|x86.Build.0 = Debug|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Release|Any CPU.ActiveCfg = Release|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Release|ARM64.ActiveCfg = Release|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Release|x64.ActiveCfg = Release|x64 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Release|x64.Build.0 = Release|x64 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Release|x86.ActiveCfg = Release|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Release|x86.Build.0 = Release|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Debug|Any CPU.ActiveCfg = Debug|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Debug|Any CPU.Build.0 = Debug|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Debug|ARM64.ActiveCfg = Debug|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Debug|ARM64.Build.0 = Debug|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Debug|x64.ActiveCfg = Debug|x64 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Debug|x64.Build.0 = Debug|x64 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Debug|x86.ActiveCfg = Debug|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Debug|x86.Build.0 = Debug|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Release|Any CPU.ActiveCfg = Debug|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Release|Any CPU.Build.0 = Debug|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Release|ARM64.ActiveCfg = Debug|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Release|ARM64.Build.0 = Debug|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Release|x64.ActiveCfg = Release|x64 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Release|x64.Build.0 = Release|x64 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Release|x86.ActiveCfg = Release|Win32 + {ABAC8D87-C87B-455C-8340-0A9B0CD9A206}.Win7 Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1267B10C-4298-4F27-ADC5-FE558436C6D4} + EndGlobalSection +EndGlobal From b62164c32e1a1ffa6e78f1b78c1f4ca2b8fbd8df Mon Sep 17 00:00:00 2001 From: Eve Le Date: Mon, 7 Jun 2021 12:49:35 -0700 Subject: [PATCH 2/3] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d3477e66..1571d50d 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ In the ``GettingStarted`` folder you will find the starter code for its respecti - [WinUI Getting Started](https://docs.microsoft.com/microsoft-edge/webview2/gettingstarted/winui) In the ``Sample Apps`` folder you will find: -- [WebView2Samples.sln](SampleApps/WebView2Samples.sln) - a collective solution that includes [WebView2APISample.vcxproj](SampleApps/WebView2APISample/WebView2APISample.vcxproj), [WebView2WpfBrowser.csproj](SampleApps/WebView2WpfBrowser/WebView2WpfBrowser.csproj), [WebView2WindowsFormsBrowser.csproj](SampleApps/WebView2WindowsFormsBrowser/WebView2WindowsFormsBrowser.csproj), [WV2DeploymentWiXCustomActionSample](/SampleApps/WV2DeploymentWiXCustomActionSample/README.md), and [WV2DeploymentWiXBurnBundleSample](/SampleApps/WV2DeploymentWiXBurnBundleSample/README.md). +- [WebView2Samples.sln](SampleApps/WebView2Samples.sln) - a collective solution that includes [WebView2APISample.vcxproj](SampleApps/WebView2APISample/WebView2APISample.vcxproj), [WebView2SampleWinComp.vcxproj](SampleApps/WebView2SampleWinComp/WebView2SampleWinComp.vcxproj), [WebView2WpfBrowser.csproj](SampleApps/WebView2WpfBrowser/WebView2WpfBrowser.csproj), [WebView2WindowsFormsBrowser.csproj](SampleApps/WebView2WindowsFormsBrowser/WebView2WindowsFormsBrowser.csproj), [WV2DeploymentWiXCustomActionSample](/SampleApps/WV2DeploymentWiXCustomActionSample/README.md), and [WV2DeploymentWiXBurnBundleSample](/SampleApps/WV2DeploymentWiXBurnBundleSample/README.md). Please leave feedback in our [our feedback repo](https://aka.ms/webviewfeedback)! @@ -23,7 +23,7 @@ This will require downloading the [Getting Started Guide](https://github.com/Mic #### Comprehensive API Sample -The **Win32 C++ Sample** can be found in the [WebView2APISample](./SampleApps/WebView2APISample) directory. +The **Win32 C++ Sample** can be found in the [WebView2APISample](./SampleApps/WebView2APISample) directory and [WebView2SampleWinComp](./SampleApps/WebView2SampleWinComp) directory. #### Multiple WebViews Sample From ca7b4cc7fe26668860b1b90977d23944ca5405e3 Mon Sep 17 00:00:00 2001 From: eve_ <51251605+tofuandeve@users.noreply.github.com> Date: Tue, 8 Jun 2021 13:50:37 -0700 Subject: [PATCH 3/3] Update file path Co-authored-by: Jessica Chen <55165503+peiche-jessica@users.noreply.github.com> --- SampleApps/WebView2SampleWinComp/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/SampleApps/WebView2SampleWinComp/README.md b/SampleApps/WebView2SampleWinComp/README.md index 8a50ce12..19df7b9c 100644 --- a/SampleApps/WebView2SampleWinComp/README.md +++ b/SampleApps/WebView2SampleWinComp/README.md @@ -2,7 +2,7 @@ This is a hybrid application built with the [Microsoft Edge WebView2](https://aka.ms/webview2) control. -![Sample App Snapshot](\screenshots\WinComp-Sample-App-Screenshot.png) +![Sample App Snapshot](/screenshots/WinComp-Sample-App-Screenshot.png) The WebView2SampleWinComp is an example of an application that embeds a WebView within a Win32 native application. It is built as a Win32 [Visual Studio 2019](https://visualstudio.microsoft.com/vs/) project and makes use of both C++ and HTML/CSS/JavaScript in the WebView2 environment. It also uses [Windows Runtime Composition APIs](https://docs.microsoft.com/en-us/uwp/api/windows.ui.composition?view=winrt-19041) (also called the Visual layer) to take avantage of the latest Windows 10 UI features and create better look, feel, and functionality in C++ Win32 applications. @@ -32,4 +32,3 @@ That's it! Everything should be ready to just launch the app. *You can get the WebView2 NugetPackage through the Visual Studio NuGet Package Manager. **You can also use Visual Studio 2017 by changing the project's Platform Toolset in Project Properties/Configuration properties/General/Platform Toolset. You might also need to change the Windows SDK to the latest version available to you. -