初版:2003/02/20
改訂:2003/12/18
ANGIE WORKSHOP > 知識倉庫 > Windows XPで自動再生機能を無効化する

Windows XPで自動再生機能を無効化する

Windows 95以降のWindowsでは,CD-ROMドライブに挿入したメディアを自動判別して適切なプログラムを実行するという自動再生の機能が提供されています。便利な機能ではあるのですが,ユーザーが望んでいなくても自動再生してしまうため,わずらわしく感じられる事が多いのも事実です。もちろんこの自動再生機能は無効化することができますが,Windowsのバージョンによってその方法はさまざまに異なっています。

Windows 95/98/Meでは,デバイスマネージャの画面から各ドライブ毎に自動再生を無効にする設定ができました。Windows NT/2000ではドライブ毎に設定することはできませんが,レジストリを変更することですべてのCD-ROMドライブについて一括して無効化することができました(リスト1)。

リスト1.Windows 2000でCD-ROM自動再生を無効化するレジストリ設定
;=== CD-ROMの自動再生を無効化
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom]
"Autorun"=dword:00000000


nextprev 1.Windows XPにおける自動再生機能

Windows XPでは自動再生機能が次の2つの点で拡張されています。

一見すばらしい改良に見えます。しかし実際には新たな問題を発生させています。

まず,この設定は動画などのマルチメディア系コンテンツが格納されたメディアに限定されていることです。アプリケーションのインストール用CD-ROMを入れた場合の自動再生は,この設定では無効化できません。

また,MOなどのリムーバブルドライブの場合,すべてのコンテンツタイプについて「何もしない」を設定しても,メディアをスキャンしてエクスプローラのウインドウを開くという動作は必ず実行してしまいます。ファイルやディレクトリが沢山あるMOメディアを挿入するとこのスキャンに時間がかかってしまい,非常に使い勝手が悪くなります。

ご多分に洩れず,中途半端な仕様になっているわけです。このような動作で満足できるのであれば問題ありませんが,どうせなら自動再生は全部無効化した方がすっきりすると考える人は多いのではないでしょうか。もちろん私もその一人なので,無効化の方法について調べてみました。

※メディアを挿入する時にSHIFTキーを押しておけば自動再生は実行されないという点は,Windows XPでもこれまでのWindowsと同じです。しかしこんな操作,普通忘れてますよね。(笑)

nextprev 2.TweakUIを使った無効化

CD-ROMドライブについては,Windows XPでもWindows 2000と同じレジストリ設定(リスト1)で一応無効化が可能です。しかしこれはCD-ROM以外のMOドライブ等の自動再生には影響しません。それにこの設定をWindows XPで行うと,CD-ROMメディアの交換を正常に認識しなくなるという問題が生じるようです。

CD-ROMメディアを交換しても,「マイ コンピュータ」の中に表示されているCD-ROMのアイコンやボリュームラベルが更新されません。開いて内部のファイルを操作することはできますので全く使えないというわけでもないのですが,あまりうれしくない状態です。また,右クリックメニューに表示される「自動再生」を実行しても正常に実行できないことがあります。

PC環境に依存した話なのかもしれませんが,私が試した数台ではすべてこのようになりました。したがって何か他の方法を探した方がよさそうです。

代わりの方法を探していると,TweakUI for Windows XPでこの設定ができることがわかりました。TweakUI for Windows XPはマイクロソフト社から無保証で提供されているユーティリティ群PowerToys for Windows XPの一部です。

TweakUI for Windows XPをインストールして起動します。左側の「My Computer」のツリーを展開すると「AutoPlay」という項目があり,その中に「Drives」と「Types」があります。「Types」を表示すると,写真1のような画面になります。右側の2つの設定項目はそれぞれCD-ROMドライブとリムーバブルドライブの自動再生の設定です。デフォルトではどちらもチェックされて有効になっていますので,このチェックを外せば無効化できます。

写真1.TweakUI for Windows XPの設定画面1
写真1.TweakUI for Windows XPの設定画面1

「Drives」の方を表示すると,写真2のような画面になり,各ドライブごとに自動再生の有効・無効を設定できます。「Drives」と「Types」の設定は当然重複しているわけですが,どちらか片方で無効化されていれば,自動再生は無効になるようです。

写真2.TweakUI for Windows XPの設定画面2
写真2.TweakUI for Windows XPの設定画面2

nextprev 3.レジストリ設定による無効化

TweakUIはいろいろと面白いツールですが,このような一回設定してしまえば終わりの設定を行うためにわざわざインストールするのも馬鹿げています。そこで,実際にTweakUIによって無効化した結果のレジストリ設定を調べてみました。「Types」側の設定による結果をリスト2に示します。

リスト2.「Types」側の設定による無効化
;=== CD-ROM,リムーバブルドライブの自動再生を無効化
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000b5


NoDriveTypeAutoRunの設定値によって動作が変わるわけです。具体的な設定値を表1に示します。

表1.NoDriveTypeAutoRunの設定値と自動再生
設定値 CD-ROMドライブ リムーバブルドライブ
dword:00000091
dword:00000095 ×
dword:000000b1 ×
dword:000000b5 × ×
 ○:自動再生する/×:自動再生無効

「Drives」側の設定の場合は,リスト3のようになります。

リスト3.「Drives」側の設定による無効化
;=== 指定ドライブの自動再生を無効化
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveAutoRun"=hex:01,10,01,00


この例はドライブA:,M:,Q:の自動再生を無効化したものです。このレジストリ値はREG_BINARY型のバイナリ値で,各ドライブは下位ビットから順に対応しているようです。つまり最初の1バイトが,下位ビットからA:〜H:ドライブに対応し,次の1バイトはI:〜P:に対応といった具合です。対応するビットが1のドライブは,自動再生が無効化されます。

レジストリを設定したら,反映させるにはOSの再起動が必要です。
この設定をレジストリエディタでエクスポートして拡張子.regのファイルとして保存しておけば,次に設定を行う機会があった場合はそのファイルをダブルクリックするだけで自動的に設定できます。参考までにリスト2の設定をエクスポートした.regファイルを置いておきます。

※補足(2003/03/24追記)
IEEE1394やUSBで接続するHDDを使っている場合,これらをホットプラグで接続した時にも自動再生が行われてしまいます。これは「Types」側の設定では無効化されませんので,「Drives」側の設定で無効化するしかないようです。

nextprev 4.まとめ

残念ながらこの設定で自動再生を無効化すると,CD-ROMドライブの右クリックメニューに「自動再生」という項目が現れなくなります。つまり手動で自動再生を実行する(というのも変な表現ですが(笑))ことができなくなります。

CD-ROMの自動再生はAUTORUN.INFというファイルに記述されている内容を実行しているだけなので,手動で該当するファイルを実行すれば良いのですが,このようなデメリットがある点は承知しておいてください。

※補足(2003/12/18追記)
SmartCDなどのフリーソフトウェアを使えば,手動で自動再生を実行することが簡単にできます。

参考文献

更新履歴

2003/02/20 初版
2003/03/24 IEEE1394やUSBで接続するHDDに関する補足を追加
共通のスタイルシートを使った表示に変更
2003/12/18 SmartCDに関する補足を追加

top access