关于修复弹窗被360弹窗拦截器拦截的问题的解决案例的分享

本文介绍了修复编码器被360弹窗拦截器拦截的问题,通过分析Windows消息和使用WPF的HwndSource进行消息拦截。在找到主要拦截消息WM_SHOWWINDOW和WM_CLOSE后,通过在WM_CLOSE中处理显示窗体的消息,成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、查找问题

收到反馈说编码器被360弹窗拦截器拦截,经测试发现强力模式下也并没有直接拦截,但是会出现提示框;猜测有可能是用户不小心添加过滤了或者其他版本会有拦截,导致编码器被关闭无法正确编码。查找资源后发现,弹窗拦截是通过发送Windows消息触发隐藏和关闭的。

于是考虑先把编码器生成后接受到的消息打印出来查看分析。

由于WPF本身是有对消息和窗口句柄等进行封装的,所以需要重新去添加using System.Windows.Interop; 这个namespace中所包含的东西主要是为 Windows Presentation Foundation (WPF) 和其他技术(如 Win32API)之间的互操作提供支持类型,并为涉及 WPF 的其他特定互操作方案提供基类。在WPF中使用WindowProc,首先要获得一个HWND句柄(一个IntPtr类型),然后通过创建一个HwndSource对象,再通过调用这个对象中的AddHook方法来添加WindowProc。其中HwndSource实现包含 WPF 内容的 Win32 窗口。WPF 内容在此窗口中排列、度量、呈现,并且可交互式输入。HwndSource 类设计用于一般的交互操作,而不是设计用作托管 HWND 包装。通常,它不会提供操作窗口的托管方法或检测其状态的属性。相反,HwndSource类提供通过 Handle 属性对 Win32 窗口句柄 (HWND) 的访问,可通过 PInvoke 技术将其传递到 Win32 APIs 以操作该窗口。

现在开始进行挂钩,可以通过添加SourceInitialized的事件处理函数引发添加,直接重载OnSourceInitialized函数来添加。下面是通过添加处理函数的方式实现。

严格拦截任何网站的所有弹窗请求 弹出式窗口拦截器(strict)是一个轻量级的扩展,用于防止网站打开弹出式窗口(而其他弹出式窗口拦截器则是这种扩展在创建之后不会阻止弹出窗口,但是一旦请求被阻止)。该扩展暂停了用户关注的各种窗口打开请求。您可以接受或拒绝请求。数组中显示了多个唯一的请求。如果网站多次请求单个网址,则会显示一个徽章编号,指出对此特定网址的请求总数。 请注意,扩展名最近从“弹出窗口阻止程序(最终)”更名为“弹出窗口阻止程序(严格)” 选项: 1.拒绝弹出请求 2.允许弹出请求 3.在后台选项卡中打开弹出式请求 4.将当前页面重定向到弹出的URL源 支持的阻止方法: 1. window.open 2. a-> target = _blank 有关错误报告,请转到: https://github.com/schomery/popup-blocker/issues 有关常见问题,请转到: http://add0n.com/popup-blocker.html 为了测试你当前的弹出窗口阻止程序的有效性, http://tools.add0n.com/popup-blocker.html --- 您现在可以将Popup Blocker(严格)翻译成您的语言; https://www.transifex.com/github-7/popup-blocker-strict/ --- 更改日志: 版本0.2.8: 1.如果鼠标悬停在弹出通知上,则计数器停止计数,以便用户可以查看弹出请求 2.将鼠标悬停在弹出窗口中,也会在工具提示中显示请求的URL 3.一些内部代码错误修复应用。 版本0.3.0: 1.现在可以通过右键单击工具栏按钮来允许或拒绝上一个操作 2.如果选中选项,弹出窗口阻止程序将执行预定义的操作,而不显示通知面板。 版本0.3.8: `。解决了一个问题:WordPress的编辑器没有对齐文本。 支持语言:Deutsch,English,Français,Türkçe,español,português (Brasil),svenska,中文 (简体),한국어
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值