キオスク アプリケーション用にかなり単純な OSK を開発しました。これは、.net アプリのテキスト ボックスによって発生する onfocus イベントを開くことで機能します。問題は、シングル サインオン サービスと統合しようとしているということです。これは、サード パーティ認証を処理するために Web ブラウザー コントロールを開くことを意味します。SSO ページのテキスト ボックスはブラウザー コントロール内にあるため、既存の OSK を使用する最善の方法が完全にはわかりません。
私の最初の考えは、アプリケーションが応答できるイベントを追加するために、ある種の JavaScript インジェクションを試すことです。次に、テキスト ボックスがいつフォーカスを受け取るかを判断し、OSK を開くことができるはずです。OSK が閉じたら、入力した値でフォーム フィールドを更新できます。これに関する私の問題は、それが非常に壊れやすいように見えることです。SSO ページの html/js を変更すると、すべてのキオスクのサインイン プロセスが混乱する可能性があります。
私が見る他のオプションは、私が持っているOSKを破棄して、より低いレベルのものを使用することです. このアプローチで私が目にする問題は、私が見つけたように見える OSK ソフトウェアの貧弱なプログラム可能性です。ユーザーからキーボード入力を取得する必要があるときはいつでも、基本的にサードパーティのexeを起動する必要があり、既存のソリューションで得られるほどスムーズな統合には思えません。
通常の winforms コントロールに OSK を使用し、Web コントロールを使用する必要があるときはいつでもサードパーティの OSK に切り替えることで、2 つを組み合わせることもできますが、誰もがそのアプローチの問題を認識できると思います。
どちらに進むべきかについてのアドバイス/提案、および既存の OSK を使用できるようにするための一般的な JavaScript インジェクションの実装に関するヘルプは素晴らしいでしょう!