原生 WebView2 SDK 提供了选项接口和现成的实现。如果 CoreWebView2EnvironmentOptions 似乎缺失,请同时包含 WebView2EnvironmentOptions.h 和现有宿主使用的头文件。

#include <wrl.h>
#include <WebView2.h>
#include <WebView2EnvironmentOptions.h>

auto options =
    Microsoft::WRL::Make<CoreWebView2EnvironmentOptions>();

HRESULT hr = options->put_AdditionalBrowserArguments(
    L"--proxy-server=http://proxy.example.net:8080");

通过应用程序通常的错误路径处理失败的 HRESULT 之后,将该对象作为第三个参数传给环境创建过程:

hr = CreateCoreWebView2EnvironmentWithOptions(
    nullptr, userDataFolder, options.Get(), completionHandler.Get());

此处的 userDataFolder 和 completionHandler 是宿主现有的文件夹参数和环境完成处理程序。继续从传递给该处理程序的环境创建控制器。对于允许的公共站点请求,可以使用 HTTP 代理列表中的端点填充 HTTP 代理启动参数。

put_AdditionalBrowserArguments 会替换先前的参数字符串。如果宿主还需要其他浏览器标志,请在创建环境之前构造一个以空格分隔、包含所有标志的字符串。

相关文章