如何在 Web 浏览器控件中通过两根手指点击来阻止缩放
How to block zooming by Two Fingers Tapping in a Web Browser control
我正在开发带有嵌入式 WebBrowser 控件的 WPF 应用程序。我的问题是用户仍然可以通过在可触摸设备上用两根手指点击来缩放加载到嵌入式 WebBrowser 控件中的页面,尽管我已经禁用了每个加载页面将应用到的 CSS 文件中的缩放:
-ms-touch-action: pan-y;
-ms-content-zooming: none;
我已通过在 IE 功能控件注册表设置中指定强制 WebBrowser 控件在 IE 11 下工作。
奇怪的是,双指点击手势的行为在 IE 11 和嵌入式 WebBrowser 控件之间有所不同。当嵌入式 WebBrowser 放大加载的页面时,IE11 对双指点击不执行任何操作。
为了避免得到我尝试过的答案,我想列出我尝试过的方法:
viewport setting.
通过 System.Windows.Forms.Application.AddMessageFilter(从未收到任何 WM_GESTURE 消息)和 SetWindowsHookEx(已收到 WM_GESTURE 消息但 Internet Explorer Server 挂钩 WM_GESTURE 消息即使从钩子函数返回后仍然可以收到 WM_GESTURE 消息。)
我在后一个上花了几天时间。我猜测未能保留来自 WebBrowser 控件的 WM_GESTURE 消息的原因是我无法获取 Internet Explorer Server 的句柄。在我从 Internet Explorer 服务器已经接收并处理它的挂钩中收到消息时。
供参考:
下面列出了我通过 SPY++ 看到的 WebBrowser 控件的结构:
框架
-- Shell 文档对象视图
--- 互联网 Explorer_Server
欢迎任何建议。提前致谢。
将 FEATURE_NINPUT_LEGACYMODE DWORD 值更改为 1
您可以关注此link了解更多详情
我正在开发带有嵌入式 WebBrowser 控件的 WPF 应用程序。我的问题是用户仍然可以通过在可触摸设备上用两根手指点击来缩放加载到嵌入式 WebBrowser 控件中的页面,尽管我已经禁用了每个加载页面将应用到的 CSS 文件中的缩放:
-ms-touch-action: pan-y;
-ms-content-zooming: none;
我已通过在 IE 功能控件注册表设置中指定强制 WebBrowser 控件在 IE 11 下工作。
奇怪的是,双指点击手势的行为在 IE 11 和嵌入式 WebBrowser 控件之间有所不同。当嵌入式 WebBrowser 放大加载的页面时,IE11 对双指点击不执行任何操作。
为了避免得到我尝试过的答案,我想列出我尝试过的方法:
viewport setting.
通过 System.Windows.Forms.Application.AddMessageFilter(从未收到任何 WM_GESTURE 消息)和 SetWindowsHookEx(已收到 WM_GESTURE 消息但 Internet Explorer Server 挂钩 WM_GESTURE 消息即使从钩子函数返回后仍然可以收到 WM_GESTURE 消息。)
我在后一个上花了几天时间。我猜测未能保留来自 WebBrowser 控件的 WM_GESTURE 消息的原因是我无法获取 Internet Explorer Server 的句柄。在我从 Internet Explorer 服务器已经接收并处理它的挂钩中收到消息时。 供参考: 下面列出了我通过 SPY++ 看到的 WebBrowser 控件的结构: 框架 -- Shell 文档对象视图 --- 互联网 Explorer_Server
欢迎任何建议。提前致谢。
将 FEATURE_NINPUT_LEGACYMODE DWORD 值更改为 1
您可以关注此link了解更多详情