Hatena::ブログ(Diary)

Varg

2014-08-25 (Monday)

[][]Windows環境においてウィンドウをマウスオーバーでフォーカスしアクティブにしない設定法まとめ

大半のXウィンドウマネージャでは、ウィンドウをマウスオーバーでフォーカスだけをするようになっている。Windowsでは、通常はマウスオーバーではウィンドウをフォーカスしないが、"コンピュータの簡単操作センター"から、フォーカスするように設定できる。

しかし、この方法では、マウスオーバーするたびにウィンドウがアクティブ化(最前面に押出される)されてしまい、非常に操作しにくいことがある。この問題を解決するために、Xウィンドウマネージャの様に、ウィンドウをマウスオーバーでフォーカスするが、アクティブにはしない設定方法をまとめる。

環境

  • Windows 7 (amd64, SP1)

設定方法

レジストリ[HKEY_CURRENT_USER\Control Panel\Desktop]にあるUserPreferencesMaskの値を、"9F 3E 07 80 12 00 00 00"に変更すれば良い。

また、フォーカスが変わるまでの時間は、レジストリ[HKEY_CURRENT_USER\Control Panel\Desktop]にあるActiveWndTrkTimeoutの値で変更できる。


設定は、以下の手順で行う。

  1. レジストリキーのバックアップ
  2. レジストリキーの書込み
レジストリキーのバックアップ

まず、管理者権限のあるユーザアカウントでログインし、コマンドプロンプトを管理者で実行する。

次に、コマンドプロンプトで以下のコマンドを入力する。

    > reg export "HKCU\Control Panel\Desktop" C:\reg_backup.reg

最後に、ドライブC直下に"reg_backup.reg"というバックアップファイルが出力されるので、任意の場所で保管しておく。

レジストリキーの書込み

まず、管理者で実行したコマンドプロンプトで、以下のコマンドを入力し、UserPreferencesMaskの値を変更する。

    > reg add "HKCU\Control Panel\Desktop" /v "UserPreferencesMask" /t REG_BINARY /d 9F3E078012000000

次に、以下のコマンドでActiveWndTrackTimeoutの値を変更する。

時間(/d に続く数値)はミリ秒の任意の値を入力する。

(個人的には100くらいが丁度良いと思う。小さすぎる値にすると、タスクバー上のプレビューなどが使いづらくなるので。)

    > reg add "HKCU\Control Panel\Desktop" /v "ActiveWndTrkTimeout" /t REG_DWORD /d 100

最後に、一旦ログオフして再度ログインする。

復旧方法

バックアップした"reg_backup.reg"ファイル上でメニューを開き、結合を実行する。

参考サイト

  1. Windows7 マウスオーバ フォーカス移動 - とあるシステムエンジニアの徒然草
    http://k-shrimp-ebi.blogspot.jp/2012/04/windows7.html

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト

コメントを書くには、なぞなぞ認証に回答する必要があります。

トラックバック - http://d.hatena.ne.jp/gin135/20140825/1408972302
リンク元
Connection: close