UAC ダイアログにデフォルトでフォーカスを設定する

UAC ダイアログにデフォルトでフォーカスを設定する

最近、かなり古いラップトップに RAM と SSD を追加し、未使用の Windows 7 のコピーを放り込んだところ、驚いたことにかなりうまく動作しました。問題があったのは、Aero をサポートしていない古い統合型 Intel グラフィックスだけでした (最新の XPDM ドライバーを互換モードでインストールする必要がありましたが、それ以外は Basic テーマは問題なく動作します)。

古いグラフィック チップセットでは、Secure Desktop が画面を暗くするのにも長い時間がかかるため、UAC を 1 段階下げる必要がありました。

1

しかし、これは厄介な問題を引き起こしました。MSのバンドルアプリ(例えばRegeditなど)や昇格を必要とするサードパーティのアプリを実行すると、スタートメニューまたはファイル名を指定して実行ダイアログからセキュアデスクトップがオンになっているの上画面が暗くなり(長い遅延の後)、UACダイアログが表示されます。集中したAlt+を押すだけYで選択できますはいリクエストを許可します:

2 3

しかしセキュアデスクトップを有効にして以来オフこのマシンでは、起動したプログラムのUACダイアログ(および関連するタスクバーボタン)が実行ダイアログからフラッシュバック(バックグラウンドアプリが私の注意を引こうとしているように)しますが、最終的には焦点が定まらないなので、 +を押す前にそれをクリック(またはキューの最後にあるAlt+をクリック)する必要があります(直接クリックすることもできます)TabAltYはいボタンももちろんあります)。同じプログラム開始スタートメニューから結果として集中した以前と同じダイアログ。

そこで質問なのですが、セキュアデスクトップをオフにして実行ダイアログからアプリを起動する場合、UACダイアログをデフォルトでフォーカスして、すぐに押せるようにする方法はありますか?はいマウスを使わずに?また、同じダイアログでも、プログラムが起動される場所によって動作が異なるのはなぜですか?

UAC を完全にオフにしたくない、遅延のために Secure Desktop を再びオンにしたくない、タスクバーの点滅機能を無効にしたくない、バックグラウンドで常に実行されるサードパーティのアプリ/サービスを使用したくないことに注意してください。

答え1

重複の可能性があるVista 管理者ユーザーダイアログが非表示

解決策はないと思います。バックグラウンドで実行され、UAC ウィンドウが表示されたときに切り替えようとする小さなアプリケーション/スクリプトを作成することはできます。

答え2

どうやら、Windows UAC の昇格の仕組みにより、この動作をネイティブに変更する方法はないようです。UAC ウィンドウに確実にフォーカスを合わせる唯一の方法は、安全な (淡色表示された) デスクトップで資格情報を要求するか、サードパーティのツールを使用することです。

サードパーティのツールやアプリがパフォーマンスに与える影響が懸念される場合は、私が自分で作成した AutoHotKey スクリプトを使用してみてください。このスクリプトは、UAC ウィンドウが表示されたときにフォーカスを合わせます。サイズは数キロバイトで、システム パフォーマンスにはまったく影響しません。このスクリプトは、次の場所から入手できます。https://github.com/lightproof/UAC-Focus

関連情報