Windows7ではAutoHotkeyがUACに邪魔される

Windows7ではAutoHotkeyUACに邪魔される

Windows7になってからいくつかのウィンドウ上でAutoHotkeyが効かなかったのだが、その正体は「管理者権限で実行しているソフトウェア」だった。

Windows7ではUACというアカウント制御が働いていて、原則としてソフトウェアの実行は標準ユーザーとなる(アカウントの種類がAdministratorであっても)。そして標準ユーザーとして実行しているソフトウェアから管理者権限で実行しているソフトウェアを操作することはできない。

操作できないというか、ホットキー自体効かなくなる。なので、管理者権限のソフトウェアがアクティブ状態だと、fenrirなどの起動ホットキーも効かない。

じゃあAutoHotkeyも管理者権限で実行すればいいや、と思ったが、そうすると今度は、AutoHotkeyから実行したソフトウェアも管理者権限での実行になったり、権限の違うソフトウェアとの間で不具合が生じたりと、色々問題が出てくる。たとえば、TTBaseのSetCaretColorが効かなくなったり、エディタなどは違う権限から実行できないので、場合によって複数起動できなくなったり。

こうなってくると、UACを切ってしまうか、AutoHotkeyで操作できないソフトウェアがあるのを我慢するかの二択になる。

XPまでは常に管理者権限で実行してたわけだから、UAC切ってても昔に戻るだけという気はする。しかし、完全にバックグラウンドから攻めて来るマルウェアに対しては効果が大きいらしいから、微妙なところ。管理者権限が必要なソフトなんてそう頻繁に実行するものでもないので、とりあえずUACはそのままにしておく。

管理者権限が必要なソフトウェア

レジストリとかProgram Filesに変更を加えるソフト全般。

自分が使ってるソフトでは以下のようなのがそうだった。