🛠️
IIS Express をバックグラウンドで実行する
さまざまな経緯があり、現在は PHP の開発に IIS Express と NetBeans を使用しております。これでほとんど問題はありませんが、唯一の課題として IIS Express を手動で起動しなければならない点が挙げられます。これまではコマンド プロンプトで次のように実行していました。
"C:\Program Files (x86)\IIS Express\iisexpress.exe" /siteid:8091
この方法でも動作しますが、コマンド プロンプトを閉じると IIS Express が終了してしまいます。また、複数のサイトを起動する場合は、それぞれコマンド プロンプトを開く必要があり、手間がかかります。できればサービスのようにバックグラウンドで実行したいと考え、VBScript を利用する方法を検討しました。
Set Shell = CreateObject("Wscript.Shell")
Shell.Run "cmd /C ""C:\Program Files (x86)\IIS Express\iisexpress.exe"" /siteid:8091", vbHide
Shell.Run "cmd /C ""C:\Program Files (x86)\IIS Express\iisexpress.exe"" /siteid:8092", vbHide
WshShell.Run メソッドの intWindowStyle に vbHide を指定することで、非表示の状態で実行できます。なお、IIS Express を終了したい場合は、通知領域アイコンに常駐している iisexpresstray.exe から終了できます。
Discussion