OFGB高级技巧:自定义规则拦截Windows 11顽固广告

OFGB高级技巧:自定义规则拦截Windows 11顽固广告

【免费下载链接】OFGB GUI Tool To Removes Ads From Various Places Around Windows 11 【免费下载链接】OFGB 项目地址: https://gitcode.com/GitHub_Trending/of/OFGB

引言:Windows 11广告泛滥的终极解决方案

你是否还在被Windows 11系统中无处不在的广告弹窗、推荐内容和赞助商通知困扰?自2024年4月更新后,微软在文件资源管理器、开始菜单、锁屏界面甚至设置应用中植入了大量广告,严重影响用户体验。OFGB(Oh Frick Go Back)作为一款专为拦截这些广告设计的开源工具,通过修改Windows注册表(Windows Registry)键值来实现系统级广告屏蔽。本文将带你深入掌握OFGB的高级使用技巧,不仅涵盖基础拦截规则的优化,更将详细讲解如何自定义规则应对新型广告,让你的Windows 11回归纯净。

读完本文你将获得:

  • 系统理解OFGB的注册表拦截原理
  • 掌握12类默认广告拦截规则的自定义配置
  • 学会创建全新的广告拦截规则(含UI扩展与代码实现)
  • 获得批量管理、备份恢复和规则验证的高级技能
  • 解决90%以上的OFGB使用问题的实战方案

OFGB基础拦截规则全解析

默认拦截规则总览

OFGB通过控制12类注册表键值实现广告拦截,这些规则覆盖了Windows 11系统中主要的广告来源。下表详细列出了每个拦截选项对应的注册表路径、键名、数据类型及功能说明:

拦截选项注册表路径键名数据类型默认值功能描述
文件资源管理器同步通知Software\Microsoft\Windows\CurrentVersion\Explorer\AdvancedShowSyncProviderNotificationsDWORD1控制文件资源管理器中的同步提供商通知显示
锁屏广告Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManagerRotatingLockScreenOverlayEnabledDWORD1启用/禁用锁屏界面的"有趣事实、技巧和更多内容"
锁屏广告Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManagerSubscribedContent-338387EnabledDWORD1控制锁屏订阅内容显示
设置应用推荐内容Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManagerSubscribedContent-338393EnabledDWORD1控制设置应用中的建议内容
设置应用推荐内容Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManagerSubscribedContent-353694EnabledDWORD1控制设置应用中的订阅内容
设置应用推荐内容Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManagerSubscribedContent-353696EnabledDWORD1控制设置应用中的个性化推荐
Windows使用提示Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManagerSubscribedContent-338389EnabledDWORD1控制系统使用提示和技巧的显示
系统设置完成提示Software\Microsoft\Windows\CurrentVersion\UserProfileEngagementScoobeSystemSettingEnabledDWORD1控制"完成设备设置"提示
Windows欢迎体验Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManagerSubscribedContent-310093EnabledDWORD1控制更新后的欢迎体验界面
个性化广告Software\Microsoft\Windows\CurrentVersion\AdvertisingInfoEnabledDWORD1控制是否使用广告ID显示个性化广告
定制化体验Software\Microsoft\Windows\CurrentVersion\PrivacyTailoredExperiencesWithDiagnosticDataEnabledDWORD1控制基于诊断数据的定制化体验
开始菜单推荐Software\Microsoft\Windows\CurrentVersion\Explorer\AdvancedStart_IrisRecommendationsDWORD1控制开始菜单中的应用推荐
通知智能_opt_outSoftware\Microsoft\Windows\CurrentVersion\Notifications\Settings\Windows.ActionCenter.SmartOptOutEnabledDWORD1控制"关闭应用通知"提示
搜索框建议Software\Policies\Microsoft\Windows\ExplorerDisableSearchBoxSuggestionsDWORD0控制搜索框中的Bing建议(需管理员权限)
Edge桌面小部件Software\Policies\Microsoft\EdgeWebWidgetAllowedDWORD1控制Edge浏览器桌面小部件(需管理员权限)

OFGB工作原理流程图

OFGB通过修改Windows注册表实现广告拦截,其核心工作流程如下:

mermaid

自定义规则开发指南

注册表键值分析技术

要创建自定义广告拦截规则,首先需要确定目标广告对应的注册表键值。以下是识别和验证广告相关注册表项的系统方法:

  1. 广告行为捕获

    • 使用Process Monitor监控广告弹窗时的注册表访问行为
    • 过滤条件: 进程名=explorer.exe, 操作=RegSetValue
    • 记录可疑的注册表路径和键名
  2. 键值功能验证

    • 创建虚拟机快照或使用系统还原点备份
    • 手动修改可疑键值(0=禁用,1=启用)
    • 观察广告显示行为变化
    • 重复测试确认因果关系
  3. 键值持久化测试

    • 重启系统后检查键值是否被系统重置
    • 测试Windows更新是否会恢复默认值
    • 记录需要定期维护的键值

UI扩展实现步骤

要在OFGB中添加新的拦截选项,需要修改XAML文件添加UI控件,并在C#代码中实现对应的注册表操作。以下是详细步骤:

  1. 添加复选框到MainWindow.xaml
<CheckBox x:Name="cb13" Content="拦截系统通知中心广告" 
          HorizontalAlignment="Left" VerticalAlignment="Top" 
          Margin="20,380,0,0" Checked="Checked" Unchecked="Unchecked"/>
  1. 在InitializeKeys方法中添加初始化逻辑

在MainWindow.xaml.cs的InitializeKeys方法中添加:

// 系统通知中心广告拦截
bool key13 = CreateKey(cur_ver + "Notifications\\Settings\\Windows.SystemToast.SecurityAndMaintenance", "Enabled");
cb13.IsChecked = key13;
  1. 在ToggleOptions方法中添加注册表操作
case "cb13":
    Registry.SetValue("HKEY_CURRENT_USER\\" + cur_ver + "Notifications\\Settings\\Windows.SystemToast.SecurityAndMaintenance", 
                     "Enabled", Convert.ToInt32(!enable));
    break;

完整自定义规则示例:拦截系统通知广告

以下是拦截Windows 11系统通知中心广告的完整实现代码:

XAML界面扩展 (MainWindow.xaml)

<CheckBox x:Name="cb13" 
          Content="拦截系统通知中心广告" 
          HorizontalAlignment="Left" 
          VerticalAlignment="Top" 
          Margin="20,380,0,0" 
          Checked="Checked" 
          Unchecked="Unchecked"
          ToolTip="禁用通知中心中的促销和广告内容"/>
<TextBlock x:Name="tb13" 
           Text="阻止系统通知中心显示的促销信息和广告内容" 
           HorizontalAlignment="Left" 
           VerticalAlignment="Top" 
           Margin="220,380,0,0" 
           Width="300"
           FontSize="12"
           Foreground="#CDD6F4"/>

C#后端实现 (MainWindow.xaml.cs)

private void InitializeKeys()
{
    // 现有代码...
    
    // 系统通知中心广告拦截
    bool key13 = CreateKey(cur_ver + "Notifications\\Settings\\Windows.SystemToast.SecurityAndMaintenance", "Enabled");
    cb13.IsChecked = key13;
}

private static void ToggleOptions(string checkboxName, bool enable)
{
    switch (checkboxName)
    {
        // 现有case...
        
        case "cb13":
            Registry.SetValue("HKEY_CURRENT_USER\\" + cur_ver + "Notifications\\Settings\\Windows.SystemToast.SecurityAndMaintenance", 
                             "Enabled", Convert.ToInt32(!enable));
            break;
    }
}

高级技巧与最佳实践

批量规则管理脚本

对于需要管理多台电脑或频繁重置系统的用户,可创建批处理脚本自动应用OFGB规则:

@echo off
:: OFGB规则批量应用脚本
:: 以管理员身份运行

:: 禁用文件资源管理器同步通知
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowSyncProviderNotifications" /t REG_DWORD /d 0 /f

:: 禁用锁屏广告
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "RotatingLockScreenOverlayEnabled" /t REG_DWORD /d 0 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f

:: 禁用设置应用推荐
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353694Enabled" /t REG_DWORD /d 0 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353696Enabled" /t REG_DWORD /d 0 /f

:: 刷新资源管理器使设置生效
taskkill /f /im explorer.exe
start explorer.exe

规则备份与恢复方案

自动备份注册表规则

创建PowerShell脚本定期备份OFGB相关注册表项:

# 备份OFGB规则到时间戳文件
$timestamp = Get-Date -Format "yyyyMMddHHmmss"
$backupPath = "$env:USERPROFILE\Documents\OFGB_Backup_$timestamp.reg"

# 导出相关注册表项
reg export "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" "$backupPath" /y
reg export "HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" "$backupPath" /y
reg export "HKCU\Software\Microsoft\Windows\CurrentVersion\Privacy" "$backupPath" /y
reg export "HKCU\Software\Policies\Microsoft\Windows\Explorer" "$backupPath" /y

Write-Host "规则备份完成: $backupPath"

恢复流程

  1. 双击.reg备份文件
  2. 在用户账户控制提示中点击"是"
  3. 注册表编辑器提示成功后重启资源管理器

规则有效性验证工具

创建以下PowerShell函数验证拦截规则是否生效:

function Test-OFGBRules {
    $rules = @(
        @{Path="HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"; Name="ShowSyncProviderNotifications"; Expected=0},
        @{Path="HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"; Name="RotatingLockScreenOverlayEnabled"; Expected=0},
        @{Path="HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"; Name="SubscribedContent-338387Enabled"; Expected=0},
        @{Path="HKCU:\Software\Microsoft\Windows\CurrentVersion\Privacy"; Name="TailoredExperiencesWithDiagnosticDataEnabled"; Expected=0}
    )

    foreach ($rule in $rules) {
        $actual = Get-ItemProperty -Path $rule.Path -Name $rule.Name -ErrorAction SilentlyContinue | Select-Object -ExpandProperty $rule.Name -ErrorAction SilentlyContinue
        if ($actual -eq $rule.Expected) {
            Write-Host "PASS: $($rule.Name) = $actual" -ForegroundColor Green
        } else {
            Write-Host "FAIL: $($rule.Name) = $actual (预期: $($rule.Expected))" -ForegroundColor Red
        }
    }
}

# 执行验证
Test-OFGBRules

常见问题与解决方案

权限问题完全解决方案

症状: 部分选项显示为灰色,无法勾选/取消

根本原因: OFGB未以管理员权限运行,无法修改受保护的注册表项

分级解决方案:

  1. 临时解决:

    • 关闭OFGB
    • 右键点击OFGB可执行文件
    • 选择"以管理员身份运行"
  2. 永久解决:

    :: 创建管理员权限快捷方式
    set "target=%USERPROFILE%\AppData\Local\Microsoft\WindowsApps\OFGB.exe"
    set "shortcut=%USERPROFILE%\Desktop\OFGB.lnk"
    
    :: 使用PowerShell创建带管理员权限的快捷方式
    powershell -Command "$wshell = New-Object -ComObject WScript.Shell; $shortcut = $wshell.CreateShortcut('%shortcut%'); $shortcut.TargetPath = '%target%'; $shortcut.Arguments = ''; $shortcut.WorkingDirectory = '%USERPROFILE%'; $shortcut.Save();"
    
    :: 设置快捷方式始终以管理员身份运行
    powershell -Command "$bytes = [System.IO.File]::ReadAllBytes('%shortcut%'); $bytes[0x15] = $bytes[0x15] -bor 0x20; [System.IO.File]::WriteAllBytes('%shortcut%', $bytes);"
    

规则不生效排查流程

当OFGB设置后广告仍然显示,可按以下步骤排查:

mermaid

系统更新后的规则维护

Windows更新经常会重置广告相关注册表项,建议创建以下任务计划自动修复:

  1. 创建任务计划

    • 触发器: 系统启动后5分钟
    • 操作: 启动程序 powershell.exe
    • 参数: -File "C:\Path\To\Your\Restore-OFGBRules.ps1"
  2. 恢复脚本内容

# 恢复OFGB规则
$rules = @(
    @{Path="HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"; Name="ShowSyncProviderNotifications"; Value=0},
    @{Path="HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"; Name="RotatingLockScreenOverlayEnabled"; Value=0},
    @{Path="HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"; Name="SubscribedContent-338387Enabled"; Value=0}
)

foreach ($rule in $rules) {
    if (-not (Test-Path $rule.Path)) {
        New-Item -Path $rule.Path -Force | Out-Null
    }
    Set-ItemProperty -Path $rule.Path -Name $rule.Name -Value $rule.Value -Type DWord -Force
}

# 重启资源管理器
Stop-Process -Name explorer -Force
Start-Process explorer

总结与展望

OFGB作为一款开源的Windows 11广告拦截工具,通过精准修改注册表键值,有效解决了系统级广告骚扰问题。本文详细介绍了基础拦截规则、自定义规则开发方法、高级管理技巧和常见问题解决方案,为用户提供了全面的广告拦截解决方案。

随着Windows系统的不断更新,微软可能会引入新的广告形式和注册表键值。建议用户:

  1. 定期更新OFGB到最新版本
  2. 参与项目GitHub讨论,分享新发现的广告注册表项
  3. 使用本文介绍的规则备份方案,防止系统更新重置设置
  4. 关注Windows更新日志,提前了解可能的广告功能变化

通过自定义规则和高级管理技巧,你可以打造一个真正无广告的Windows 11使用环境,将系统资源和屏幕空间完全掌控在自己手中。

收藏本文,并在项目GitHub页面给予星标支持,获取最新的广告拦截规则和工具更新!

【免费下载链接】OFGB GUI Tool To Removes Ads From Various Places Around Windows 11 【免费下载链接】OFGB 项目地址: https://gitcode.com/GitHub_Trending/of/OFGB

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值