フォーカスがジャンプするウィンドウを誤って操作しないようにする方法はありませんか?

フォーカスがジャンプするウィンドウを誤って操作しないようにする方法はありませんか?

PC にグラフィカル インターフェイスが導入されて以来、同じ問題が繰り返し発生します。

ユーザーがキーボードで入力したり、何かをクリックしたりすると、突然、OS がバックグラウンドのウィンドウをフォアグラウンドに移動する絶好の機会だと判断したり、まったく新しいウィンドウをポップアップ表示したりします。いずれにしても、脳が何が起こったかを処理する前に、入力またはクリックによって新しいフォアグラウンド ウィンドウにフォーカスが移ります。

  • ウィンドウがボタン (OK、キャンセル、はい、いいえなど) のあるダイアログである場合、入力/クリックによって重要な情報が無視されたり、最悪の場合、10 時間かかるファイル バックアップ プロセスがキャンセルされたり、作業の途中でシステムが強制的に再起動されたりする可能性があります。

  • ウィンドウにテキスト入力のフォーカスがある場合は、そのウィンドウに入力していることになります。おそらく、電子メールを入力していて、そのテキストの一部がポップアップ ウィンドウに表示されているのでしょう。改行のために Enter キーを押すと、ポップアップが送信されてしまいます。あるいは、もっとひどい場合は、パスワードをプレーン テキストで入力してポップアップを送信したか、肩越しに誰かにパスワードが見えてしまう (プレゼンテーションで画面を共有していないことを祈ります) かもしれません。

このようなシナリオを防ぐ方法は本当にないのでしょうか? (この質問は Windows OS についてのままにしておきます。ただし、Windows OS はすべてこの問題を抱えていることは知っています。) 何年も経った今でも、同じ危険が繰り返し発生することからユーザーを保護するガードレールがまだ存在しないとは信じられません。

この問題を少なくとも部分的に軽減する何かを実装するのは簡単だと思います。
例: 新しいウィンドウ (特に手動で呼び出されていないウィンドウ) がポップアップしてフォーカスを取得すると、入力が受け入れられるまでに遅延 (少なくとも 1 秒) が必要です。以前にもこれを見たことがあると思います (Windows UAC プロンプトだったでしょうか?) が、十分な頻度ではありませんでした。

まさにこの質問を入力しながら、ファイルを転送しようとしているのですが、不良ファイルがあるたびに、警告なしに新しいウィンドウがポップアップ表示され、入力中なので誤ってプロセスをキャンセルし続けます。

答え1

Windows がアプリケーションによるフォーカスの奪取を完全にブロックして機能を維持する方法はないことを理解してください。たとえば、ファイルのコピー中にウイルス対策ソフトウェアが潜在的な脅威を検出し、実行するアクションを尋ねるウィンドウをポップアップ表示する場合、このウィンドウがブロックされていると、コピーが終了しない理由がわかりません。

ただし、この問題は次のようにすれば軽減できる可能性があります。

フォーカス追従マウスを有効にする

これにより、カーソルの下にあるウィンドウにフォーカスが置かれるため、ウィンドウがフォーカスを失うのを防ぐことができます。

コントロール パネル > 簡単操作センター「マウスを使いやすくする」をクリックし、「マウスをウィンドウの上に置くとウィンドウがアクティブになる」オプションをオンにして、「OK」をクリックします。

ホバー後にウィンドウがフォーカスされるまでのタイムアウトを変更する

HKEY_CURRENT_USER\Control Panel\Desktopこのタイムアウトは、レジストリ キー の項目で指定され ActiveWndTrkTimeout、ミリ秒 (ms) 単位の時間が含まれます。 の既定値は、0ウィンドウが即座にフォーカスを取得することを意味します。おそらくこれが望ましい動作です。変更後はログアウト/ログインが必要です。

答え2

PC にグラフィカル インターフェイスが導入されて以来、同じ問題が繰り返し発生します。

それは1990年以来のことです。

  1. 入力/タイプする際には、(a) エラーが少なくなるように、(b) ポップアップが表示されたら次のステップに進むように注意してください。

  2. 「作業中にシステムを強制的に再起動する」。これが発生しないように操作時間を設定します。私のシステムは作業中に再起動することはありません。

  3. 「おそらく、電子メールを入力していて、そのテキストの一部がポップアップ ウィンドウに表示されたのでしょう。」これは本当に注意が必要です。

  4. 「このようなシナリオを防ぐ方法は本当にないのでしょうか?」 永久に防ぐ方法はありません。結局のところ、過去 30 年間に何度も改良されてきました。ユーザーの要望を反映しています。

関連情報