2016-07-12 6 views
0

異なるプロセスの親ウィンドウの子であるATLホストWebBrowserコントロールがあります。WebBrowserコントロールで数値キーパッドが機能しない

一部のユーザーは、Webブラウザーコントロールのテキストボックスに数値を入力するためにテンキーパッドを使用できません。

これはWindows 7およびWindows 10で確認されていますが、この問題は「マウスキー」のアクセシビリティオプションに関連していないようです。

テンキーパッドは、同じシステム上のほかのアプリケーション(IEとメモ帳)で正常に動作しますが、ホストされているWebブラウザーコントロールでのみ失敗します。

この問題を再現することはできませんでしたし、問題が発生しているシステムと共通のものを分離することもできませんでした。誰でもWebBrowserコントロールでのみテンキーパッドが失敗する原因を説明できますか?

+2

[それは/クロスプロセスの親を持つことが法的です子ウィンドウまたは所有者/所有ウィンドウの関係]](https://blogs.msdn.microsoft.com/oldnewthing/20130412-00/?p=4683) – IInspectable

+0

はい、「合法」です。挑戦的ですが法的です。 – donaddon

+0

ATLホスティングコードまたはクロススレッド親プロセスのいずれかがあなたのコントロール下にない場合、それは正当なものではなくなります。この質問は[mcve]なしでは答えられません。私も知っている、それも、それ自体で挑戦です。 – IInspectable

答えて

0

この問題は、WebRoot SecureAnywhere Identity Shieldというユーティリティが原因であることが判明しました。問題はドライバレベルであり、ユーザスペースではないため、見つけることは困難でした。

彼らはこの問題の修正に取り組んが、ここで回避策ですされていると言う

を実行し、このプログラム:

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

ツールは、引数なしで実行されている場合は、それが修正されますID ShieldがNum-Lock(Enabled)を制御できるようになった場合、またはID Shieldが制御(Disabled)をもはや持っていない場合は、レジストリとプロンプトが表示されます。プロセスを完了するために再起動を求められます。

ツールを引数付きで実行すると、サイレントモードで実行されます(たとえば、エージェントコマンド - 詳細 - ファイルのダウンロードと実行)。次のいずれかの引数を渡します。

-disableは、IDシールドのNum-Lockの制御を無効にします(つまり、無効になっています)。以下は有効な引数(/ off、-off、/ disable)です。

-enable IDシールドのNum-Lockの制御を有効にします(つまり、Enabledになります)。以下は有効な引数(/ on、-on、-enable)です。

ツールが2つ以上の引数で実行されると、何も起こりません。

注:レジストリキーはHKLM \ SYSTEM \ CurrentControlSet \ Services \ ikbevent "DWORD"です。このキーを使用して0x01を入力します。IDシールドのNum-Lockコントロールは無効になっており、削除されていると有効になります。

これはまた、我々は問題が発生した当社の製品のためのブログに記載されていますが、それは、WebBrowserコントロールをホストするすべての製品に発生します:https://www.ietab.net/blog/number-keypad-numlock-not-working-in-ie-tab/

関連する問題