戻る

Windows Vista での動作について


 Windows Vista では、セキュリティを強化した結果、XPで正常に動作していたアプリケーションの多くが正常に動作しなくなりました

  UAC(ユーザーアカウント制御)がデフォルトで有効になっています。
  UACが有効になっていると、管理者ユーザーでログインしても、実行させるアプリケーションは標準ユーザーとして実行されます。
  管理者として実行しようとすると、いちいち許可を求めるダイアログが表示され、それに許可をする必要があります。
  タスクトレイに常駐するアプリケーションも、アプリケーション毎に許可をする必要があります。
  このUACは、「コントロールパネル」−「ユーザーアカウントと家族のための安全設定」−「ユーザー アカウント」
  −「ユーザーアカウント制御の有効かまたは無効化」で無効にすることができます。
  UACを無効にすると、XPで動作していた多くのアプリケーションは正常に動作するようになります。
  しかしこの方法はお薦めできません。
  そうするくらいなら、XPをインストールした方がマシです。
  管理者権限が必要なアプリケーションは極力動作させないようにして、必要時にのみ動作させるようにすることです。
  常時動作さすアプリケーションは、すべて標準ユーザーとして実行すべきです。


  UACにも関連することですが、特権レベルの異なるアプリケーション間では、Windowsメッセージの受け渡しができません。
  簡単に言うと、標準ユーザーとして実行したアプリケーションでは、管理者として実行したアプリケーションのメッセージを読み取ることができません。
  逆に、管理者として実行したアプリケーションは、標準ユーザーとして実行したアプリケーションのメッセージをブロックして、読み取ることができません。
  つまり特権レベルが同じアプリケーション同士でしか、Windowsメッセージのやりとりができないということです。
  これはWindowsメッセージをフックする多くのアプリケーションに弊害をもたらします。
  私が公開しているキーボードフックやマウスフックを使用している常駐ソフトは、正常に動作しないことになります。
  これを避けるためにも、すべてのアプリケーションを標準ユーザーとして実行さすべきです。
  そうすれば私の公開しているアプリケーションも、ほとんどが正常に動作するはずです。