アプリケーションのインストールなどを繰り返していると、いつのまにかWindowsの起動時に自動実行されるプログラムが増殖する。これらを確認するには、Windows 2000なら[コンピュータの管理]を、Windows XPなら[システム情報]を使う。またWindows XPでは[システム構成ユーティリティ]で削除指定ができる。
対象OS:Windows 2000 Professional/Windows XP Professional/Windows XP Home Edition/Windows 2000 Server/Windows 2000 Advanced Server
ソフトウェアによっては、いったんインストールすると、Windowsの起動時にプログラム自身や関連するサービスを自動的に起動するように設定を行うものがある。必要に応じてソフトウェアのインストールなどを繰り返していくと、この手のプログラムのおかげで、Windowsの起動がみるみる遅くなったり、使いもしないバックグラウンド・プログラムやサービスによってメモリが圧迫されたりしてしまう。
この典型とも思えるのが、標準ではデスクトップの右下にあるインジケータ領域である(日本語では「インジケータ領域」と呼ばれるが、米国ではsystem trayと呼ばれている。またWindows XPからは、この領域を「通知領域(notification area)」と呼ぶようになった)。例えば筆者が普段使っているノートPCのインジケータ領域は下のとおりである。
大してアプリケーションをインストールした覚えもないのだが、いつの間にかインジケータ領域には多数のアイコンがひしめくようになっていた。中にはあまり使っていないものもありそうだ。この際だから、使用頻度の低いものは削除したいのだが……。
Windowsの起動時に自動実行されるプログラムの設定場所としては、[スタート]メニューの[プログラム]−[スタートアップ]フォルダがある。ここに実行ファイルや実行ファイルのショートカット・ファイルが登録されていると、Windowsの起動時(厳密には、ユーザーのログオン時)にそれらが自動的に起動される。不要なプログラムが自動実行されて困っているときには、まずはここを調べて、ショートカットなどが登録されていないかを確認しよう。前出のノートPCで、この[プログラム]−[スタートアップ]メニューを表示すると次のようになった。予想に反して、登録されているショートカットは1つしかなかった。
[プログラム]−[スタートアップ]に登録されていたのは、Palmデバイス用の同期マネージャ(HotSyncマネージャー)だけだった。確かに、これと同じアイコンがインジケータ領域にも表示されていたが、これ以外のアイコンはどこで自動実行の指定がなされているのだろうか?
使用中の環境がWindows 2000なら、次のようにして自動実行されるプログラムを確認できる。これには、コントロールパネルの[管理ツール]フォルダにある[コンピュータの管理]を実行しよう(デスクトップの[マイ コンピュータ]をマウスの右ボタンでクリックし、表示されるショートカット・メニューの[管理]を実行してもよい)。[コンピュータの管理]は、ハードウェア構成の確認や変更、各種ソフトウェア設定などを集中的に行えるようにした便利なツールである。[コンピュータの管理]ウィンドウが表示されたら、左側のツリーから、[システム ツール]→[システム情報]→[ソフトウェア環境]と下位のツリーを表示し、[スタートアップ プログラム]を選択する。すると、この[スタートアップ プログラム]に現在登録されているプログラムが右側のペインに一覧表示される。
一覧を見ると、ボリューム・コントローラやRealplayerなど、インジケータ領域のアイコンに対応するものと思われるプログラムが多数登録されている。この中から不要なものを削除できれば、自動実行を禁止することができそうだ。
しかしWindows XPで同じく[コンピュータの管理]を実行しても、[システム情報]項目はない。
実はWindows XPでは、同様の機能が、[ヘルプとサポート センター]から起動される[システム情報]ツール(msinfo32.exe)に移行された。これを起動するには、[ヘルプとサポート センター]→(右側の「作業を選びます」の最下行にある)[ツールを使ってコンピュータ情報を表示し問題を診断する]→(左の「ツール」項目にある)[システムの詳細情報]を選択するか、[スタート]メニューの[ファイル名を指定して実行]から表示されるダイアログで「msinfo32」と入力してEnterキーを押す。すると次のようなウィンドウが表示される。
以下、レジストリを編集し、ここで確認した自動実行プログラムの削除方法を解説するが、Windows XPでは、レジストリを編集せずとも、GUIから同様の操作が行えるツールが別途提供されている。これは[システム構成ユーティリティ](msconfig.exe)と呼ばれるもので、ここで自動実行されるプログラムを確認し、チェック・ボックスをオフにすれば、自動実行を禁止できる。この詳細については、別項「TIPS:起動時に自動実行される不要なプログラムを『起動しないようにする』方法」を参照されたい。
それではさっそく、上の一覧から不要そうな項目をマウスで右クリックして、表示されるショートカット・メニューから[削除]を実行しよう……、と言いたいところなのだが、残念ながら[コンピュータの管理]ツールや[システム情報]にはそのような機能はない。今述べたとおり、Windows XPでは[システム構成ユーティリティ]を使って操作できるのだが、Windows 2000ではこのツールは提供されていない。従って[コンピュータの管理]ツールで表示されたプログラムを削除するには、各プログラムに対応するセットアップ・プログラムやアンインストール・プログラムを実行して、プログラムそのものをアンインストールする必要がある。実際には、これらのスタートアップ・プログラムは、レジストリの以下の場所などに登録され(これ以外にもほかのプログラムなどから間接的に起動されているものもあるので、これがすべてではない)、ログオン時に実行されているので、レジストリから直接削除して無効にすることも可能であるが、これはあまり勧められない。どの項目がどのアイコンに相当しているかとか、それぞれがどういう機能を果たしているかが分からないと、勝手に無効にするわけにはいかないからだ。意味も分からずに無効にしてしまうと(削除してしまうと)、最悪の場合システムが起動しなくなる恐れがある。
レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリ エディタの操作は慎重に行うとともに、あくまで御自分のリスクで操作を行ってください。何らかの障害が発生した場合でも、本Windows Server Insider編集部では責任を負いかねます。ご了承ください。
用途 | レジストリの場所 |
---|---|
全ユーザー共通 | HKEY_LOCAL_MACHINE\ の下の Software\Microsoft\Windows\CurrentVersion\Run |
各ユーザーごと | HKEY_CURRENT_USER\ の下の Software\Microsoft\Windows\CurrentVersion\Run |
スタートアップ・プログラムの登録場所 これらのレジストリ・ツリーの下には、各ユーザーがログオンしたときに実行されるプログラムのエントリが記述されている。ただし、すべてのプログラムがインジケータ領域にアイコンを表示するわけではないし、勝手に削除するとログオンができなくなるばかりか、システム全体が起動不可能になる場合があるので、何をするプログラムかが分からない場合は削除してはいけない。 |
正しく自動実行が禁止されたかどうかを確認するには、再度[コンピュータの管理]を実行して、[システム情報]−[ソフトウェア環境]−[スタートアップ プログラム]の一覧から当該項目が削除されているかを確認すればよい。
■更新履歴
【2001/12/19】Windows XPに関する情報追加に加え、最新情報を反映して大幅に加筆・修正しました。
【2001/01/25】初版公開。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.