如何通过两个手指在Web浏览器控件中点击来阻止缩放

时间:2015-08-18 09:47:57

标签: c# wpf webbrowser-control gesture multi-touch

我正在使用嵌入式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消息)挂钩WM_GESTURE消息,但是即使从挂钩函数返回后,Internet Explorer Server仍然可以接收WM_GESTURE消息。)

我在后者上花了几天时间。我猜测无法从WebBrowser控件保留WM_GESTURE消息的原因是我无法获取Internet Explorer服务器的句柄。在我收到来自挂钩的消息时,Internet Explorer Server已经接收并处理它。 供参考: 我通过SPY ++看到的WebBrowser控件的结构如下所示: IEFrame    - Shell DocObject视图       --- Internet Explorer_Server

欢迎任何建议。提前谢谢。

1 个答案:

答案 0 :(得分:1)

将FEATURE_NINPUT_LEGACYMODE DWORD值更改为1

您可以按照此link了解详情