なんでもない話題UNIX系の話題メモTipsマイマシン紹介 |
Windows用にCD-Rを焼くときに、Autorunに対応させたいときがあります。
CDの、いちばんあたまのディレクトリに「autorun.inf」をおくのですが、 構文は、 [autorun]
という感じなのです。([autorun]や、open〜icon〜は、大小文字を区別しません)open=〜〜 icon=〜〜 しかし、Autorunは、実行形式のファイルしか開くことはできません。 つまり、CDを挿入したら、自動的にindex.htmlを開くようにしたくても、 [autorun]
などと書いてもダメなわけです。open=index.html では、どうするか?
1の場合windows95/98にはstart.exeというプログラムが標準で入っています。
>start.exe ファイル名 とすると、「ファイル名」の拡張子に応じたプログラムが起動するはずです。 NTの場合はstartはcmd.exeの組み込みコマンドなので >start ファイル名 です。 「.exe」は省略できますので、両方に対応させるときは、「start ファイル名」がいいと思います。 この場合の欠点は、起動時にコマンドプロンプトが表示されることです。 わかりやすくいえば、DOS窓が開いてしまいます。 これはかっこ悪いです。 2の場合そこで、「拡張子に関連付けられたアプリケーションでファイルを開く」ということしかしないプログラムを用意することにします。
MicrosoftのCDでも、この方法がとられている場合があるようです。shelext.exeだったかな? Vectorのライブラリにもいくつかありましたし、自分で作ってもそれほどたいしたプログラムではないと思います。 たとえば、「shelext.exe」をCDの「autorun」フォルダに、「index.html」をCDのルートに用意したとすると、「autorun.inf」は以下のようになります。 [autorun]
open=autorun\shelexe.exe index.html 3の場合htmlのファイルを開くときに限りますが、もっと「かっこよさげ」な方法があります。(ホントはhtmlに限るわけではないのですが…)
ここからは、理屈の説明は抜きにします。 どうやって説明したらいいのかわからないからです。 このコマンドだけでだいたいわかってください。 下のサンプルは、同じくCDのルートにindex.htmlを用意した場合です。 [autorun]
「FileProtocolHandler」は大文字と小文字を区別します。気をつけてください。open=rundll32.exe url,FileProtocolHandler index.html 説明しないといいながら、ちょっとだけ補足。 ここの「url」は、url.dllを呼び出すためのものなので、「url.dll,FileProtocolHandler」と書いてもかまいません。 上記でわからない人向けCDを作るときは、だいたい以下のようになるように配置してください。
赤字のファイルだけは、場所を変えないでください。
今回は、簡単にするために、autorun.infとindex.htmを同じフォルダ(CDのいちばん上の階層)に置きます。 autorun.infは、メモ帳で作成します。 メモ帳で、以下のように入力します。 [autorun]
入力できたら、名前をつけて保存で、autorun.infとします。open=rundll32.exe url,FileProtocolHandler index.htm autorun.inf.txtとなってしまった場合、名前を変えてください。 このautorun.infを、HTMLといっしょに焼きこみます。 今回はHTMLの最初に開くページはindex.htmとしていますので、その名前にしてください。 |