数字小键盘在WebBrowser控件中不起作用

时间:2016-07-12 03:42:31

标签: winapi webbrowser-control atl

我们有一个ATL托管的WebBrowser控件,它是另一个进程中父窗口的子窗口。

某些用户无法使用数字小键盘在WebBrowser控件的文本框中键入数字。

在Windows 7和Windows 10上已经看到了这个问题,但问题似乎与“鼠标键”辅助功能选项无关。

数字小键盘在同一系统上的其他应用程序(IE和记事本)中运行良好,只能在我们的托管WebBrowser控件中失败。

我们无法重现此问题,也无法与遇到问题的系统隔离任何共同点。谁能解释一下只会导致数字小键盘在WebBrowser控件中失败的原因?

1 个答案:

答案 0 :(得分:0)

事实证明这个问题是由于一个名为WebRoot的实用程序SecureAnywhere Identity Shield很难找到,因为问题出在驱动程序级别,而不是用户空间。

他们说他们正在努力解决这个问题,但这是一个解决方法:

运行此程序:

http://download.webroot.com/IDShieldNumLock.exe

如果该工具没有参数运行,它将修改注册表并提示ID Shield现在是否已控制Num-Lock(已启用)或ID Shield是否已无法控制(已禁用)。然后它将要求重新启动以完成该过程。

如果该工具使用参数运行,它将以静默方式运行(例如:虽然代理命令 - 高级 - 下载并运行文件)。传递以下参数之一:

-disable关闭ID Shield对Num-Lock的控制(意味着它现在已禁用)。以下也是有效的参数(/ off,-off,/ disable)。

-enable打开ID Shield对Num-Lock的控制(意味着它现在已启用)。以下也是有效的参数(/ on,-on,-enable)。

如果使用两个或更多参数运行该工具,则不会发生任何事情。

注意:这会影响的注册表项是HKLM \ SYSTEM \ CurrentControlSet \ Services \ ikbevent“DWORD”:使用此键输入0x01 ID Shield对Num-Lock的控制已禁用,如果删除它,则启用它。< / p>

我们在遇到问题的产品的博客中也记录了这一点,但任何承载WebBrowser控件的产品都会发生这种情况:https://www.ietab.net/blog/number-keypad-numlock-not-working-in-ie-tab/