Windowsで起動時に自動実行される不要なプログラムを「見つける」方法Tech TIPS

アプリケーションのインストールなどを繰り返していると、いつのまにかWindowsの起動時に自動実行されるプログラムが増殖する。これらを確認するには、Windows 2000なら[コンピュータの管理]を、Windows XPなら[システム情報]を使う。またWindows XPでは[システム構成ユーティリティ]で削除指定ができる。

» 2001年12月19日 05時00分 公開
[小川誉久デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象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のインジケータ領域は下のとおりである。

インジケータ領域の例 インジケータ領域の例
これは筆者が普段使っているノートPC(Windows 2000)のインジケータ領域である。それほど頻繁にアプリケーションのインストールを行った覚えもないが、このようにインジケータ領域には多数のアイコンがひしめいている。

 大してアプリケーションをインストールした覚えもないのだが、いつの間にかインジケータ領域には多数のアイコンがひしめくようになっていた。中にはあまり使っていないものもありそうだ。この際だから、使用頻度の低いものは削除したいのだが……。

●[スタート]メニューの[プログラム]−[スタートアップ]を覗いてみると…

 Windowsの起動時に自動実行されるプログラムの設定場所としては、[スタート]メニューの[プログラム]−[スタートアップ]フォルダがある。ここに実行ファイルや実行ファイルのショートカット・ファイルが登録されていると、Windowsの起動時(厳密には、ユーザーのログオン時)にそれらが自動的に起動される。不要なプログラムが自動実行されて困っているときには、まずはここを調べて、ショートカットなどが登録されていないかを確認しよう。前出のノートPCで、この[プログラム]−[スタートアップ]メニューを表示すると次のようになった。予想に反して、登録されているショートカットは1つしかなかった。

[スタート]メニューの[プログラム]−[スタートアップ] [スタート]メニューの[プログラム]−[スタートアップ]
Windowsの起動時に自動実行されるプログラムの登録場所としては、[スタート]メニューの[プログラム]−[スタートアップ]フォルダがある。ここにショートカットなどが登録されていると、それらがシステムの起動時に(厳密にはユーザーのログオン時に)自動的に起動されるようになる。さぞやたくさんのショートカットが登録されているかと思って前出のノートPCの[プログラム]−[スタートアップ]フォルダを覗いてみると、登録されていたショートカットは1つしかなかった。
  (1)前出のノートPCの[プログラム]−[スタートアップ]フォルダには、Palmデバイス用の同期マネージャ(HotSyncマネージャー)しか登録されていなかった。確かにこれと同じアイコンがインジケータ領域にも表示されていたが、それ以外のアイコンはいつ起動されているのだろうか……。

 [プログラム]−[スタートアップ]に登録されていたのは、Palmデバイス用の同期マネージャ(HotSyncマネージャー)だけだった。確かに、これと同じアイコンがインジケータ領域にも表示されていたが、これ以外のアイコンはどこで自動実行の指定がなされているのだろうか?

操作方法

●Windows 2000の場合:コントロールパネルの[コンピュータの管理]ツール

 使用中の環境がWindows 2000なら、次のようにして自動実行されるプログラムを確認できる。これには、コントロールパネルの[管理ツール]フォルダにある[コンピュータの管理]を実行しよう(デスクトップの[マイ コンピュータ]をマウスの右ボタンでクリックし、表示されるショートカット・メニューの[管理]を実行してもよい)。[コンピュータの管理]は、ハードウェア構成の確認や変更、各種ソフトウェア設定などを集中的に行えるようにした便利なツールである。[コンピュータの管理]ウィンドウが表示されたら、左側のツリーから、[システム ツール]→[システム情報]→[ソフトウェア環境]と下位のツリーを表示し、[スタートアップ プログラム]を選択する。すると、この[スタートアップ プログラム]に現在登録されているプログラムが右側のペインに一覧表示される。

[コンピュータの管理]ツールの[システム情報]−[ソフトウェア環境]−[スタートアップ プログラム](Windows 2000の場合) [コンピュータの管理]ツールの[システム情報]−[ソフトウェア環境]−[スタートアップ プログラム](Windows 2000の場合)
システムの起動時に自動実行されるプログラムはここにも登録されている。名前から類推すると、インジケータ領域のアイコンに対応するものが多数含まれているようだ。ただし画面はWindows 2000の場合。Windows XPでは、[システム情報]項目が表示されない。
  (1)システムの起動時に自動実行されるプログラムは、[コンピュータの管理]ツールのこの[システム情報]−[ソフトウェア環境]−[スタートアップ プログラム]にも登録されている。ツリーからフォルダを選択すると、その内容が右側のペインに表示される。
  (2)プログラム名などから類推するに、前出のインジケータ領域のアイコンに対応するものも多数含まれているようだ。

 一覧を見ると、ボリューム・コントローラやRealplayerなど、インジケータ領域のアイコンに対応するものと思われるプログラムが多数登録されている。この中から不要なものを削除できれば、自動実行を禁止することができそうだ。

 しかしWindows XPで同じく[コンピュータの管理]を実行しても、[システム情報]項目はない。

Windows XP付属の[コンピュータの管理]ツールを実行したところ Windows XP付属の[コンピュータの管理]ツールを実行したところ
Windows XPでも[コンピュータの管理]は提供されているが、なぜかWindows 2000では存在した[システム情報]項目が削除されている。従って、このツールで自動実行されるプログラムを見つけることはできない。
  (1)[システム情報]項目は存在しない。

 実はWindows XPでは、同様の機能が、[ヘルプとサポート センター]から起動される[システム情報]ツール(msinfo32.exe)に移行された。これを起動するには、[ヘルプとサポート センター]→(右側の「作業を選びます」の最下行にある)[ツールを使ってコンピュータ情報を表示し問題を診断する]→(左の「ツール」項目にある)[システムの詳細情報]を選択するか、[スタート]メニューの[ファイル名を指定して実行]から表示されるダイアログで「msinfo32」と入力してEnterキーを押す。すると次のようなウィンドウが表示される。

Windows XPの[システム情報] Windows XPの[システム情報]
Windows XPでは、[システム情報]が独立したツールになり、ヘルプ機能から起動できるようになった。基本的に、Windows 2000の[コンピュータの管理]と同等の情報を確認できる。
  (1)左側のツリーから項目を選択すると、それに対応する情報がこのペインに表示される。

 以下、レジストリを編集し、ここで確認した自動実行プログラムの削除方法を解説するが、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】初版公開。


「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。