You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁止WebView2中显示网页源代码及禁用CTRL-U快捷键

WebView2禁用Ctrl+U查看源代码解决方案

核心实现方案

WebView2默认的页面操作快捷键可以通过CoreWebView2的AcceleratorKeyPressed事件统一拦截,是目前最可靠的实现方式,逻辑为:匹配到Ctrl+U组合键触发事件时,将事件的Handled属性设为true,即可阻止该快捷键的默认行为。

WinForms/WPF 代码示例

// 需要等待CoreWebView2初始化完成后再绑定事件
webView21.CoreWebView2InitializationCompleted += (s, e) =>
{
    webView21.CoreWebView2.AcceleratorKeyPressed += (sender, args) =>
    {
        // 0x55是字母U的虚拟键码,匹配Ctrl+U组合
        if (args.VirtualKey == 0x55 && args.Modifiers == CoreWebView2KeyModifiers.Control)
        {
            args.Handled = true;
        }
    };
};

Win32/C++ 代码示例

HRESULT hr = m_webView->add_AcceleratorKeyPressed(
    Callback<ICoreWebView2AcceleratorKeyPressedEventHandler>(
        [](ICoreWebView2* sender, ICoreWebView2AcceleratorKeyPressedEventArgs* args) -> HRESULT
        {
            COREWEBVIEW2_KEY_EVENT_KIND eventKind;
            args->get_KeyEventKind(&eventKind);
            // 只处理按键按下事件
            if (eventKind == COREWEBVIEW2_KEY_EVENT_KIND_KEY_DOWN)
            {
                UINT virtualKey;
                COREWEBVIEW2_KEY_MODIFIERS modifiers;
                args->get_VirtualKey(&virtualKey);
                args->get_Modifiers(&modifiers);
                // 匹配Ctrl+U组合键
                if (virtualKey == 0x55 && modifiers == COREWEBVIEW2_KEY_MODIFIERS_CONTROL)
                {
                    args->put_Handled(TRUE);
                }
            }
            return S_OK;
        }).Get(),
    nullptr);

补充JS端拦截方案

如果需要额外加固,可以通过WebView2的ExecuteScriptAsync方法向页面注入如下JS代码,在页面层拦截键盘事件:

document.addEventListener('keydown', function(e) {
    if (e.ctrlKey && e.key.toLowerCase() === 'u') {
        e.preventDefault();
        e.stopImmediatePropagation();
        return false;
    }
});

注意事项

  • 必须等待CoreWebView2初始化完成后再绑定AcceleratorKeyPressed事件,否则会出现空引用异常。
  • 该方案可以和已有的AreDevToolsEnabled=false配置配合使用,完全禁止用户通过快捷键访问调试相关功能。

内容的提问来源于stack exchange,提问作者Atropo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:45:04