我们有一个ATL托管的WebBrowser控件,它是另一个进程中父窗口的子窗口。
某些用户无法使用数字小键盘在WebBrowser控件的文本框中键入数字。
在Windows 7和Windows 10上已经看到了这个问题,但问题似乎与“鼠标键”辅助功能选项无关。
数字小键盘在同一系统上的其他应用程序(IE和记事本)中运行良好,只能在我们的托管WebBrowser控件中失败。
我们无法重现此问题,也无法与遇到问题的系统隔离任何共同点。谁能解释一下只会导致数字小键盘在WebBrowser控件中失败的原因?
答案 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/