トップ 戻る 携帯グッズ専門店ストラップヤ.comなら欲しい商品が見つかる!

HTAで簡単GUIアプリケーション

ブラウザ用のWebアプリケーションでは、HTMLベースのGUIと各種のスクリプトやActiveXJavaアプレットなどを組み合わせて高度な機能を機能を提供できます。ただ、セキュリティの制限でローカルファイルが利用できなかったり、閲覧者が使用しているブラウザによって結果が変わってきたりと実用的なアプリケーションを作ろうとすると不便を感じることも多いでしょう。
そんな時、アプリケーションを実行する環境が比較的新しい(4以降)Internet ExplorerがインストールされたWindowsなら、HTML Applications(HTA)を利用するとWebページを作るのと同様の感覚で、ローカルファイルに自由にアクセス可能なスタンドアロンアプリケーションを作ることができます。HTAでは、Web同様にHTML+CSS+各種スクリプトで手軽にGUIやレイアウトを作成でき、ActiveXコンポーネントを利用することも可能です。ちょっとしたアプリケーションや高度な処理を行うActiveXコンポーネントの操作用インターフェースなどにHTAを利用すれば、開発を大幅に省力化できるかもしれませんね。

このHTAを作るのは簡単で、HTMLファイルがあればその拡張子を.htaに変えるとダブルクリックで起動できるHTAになります。つまり、適当な文字を表示するHTMLファイルの拡張子を.htaに変えるだけでも単純なHTA作ることができるわけです(そのようなHTAに実用上の利点はないでしょうが)。
ただ、さすがにそれでは面白くないので、今回はローカルファイルに列挙されているファイルをActiveXコンポーネント(メディアプレイヤー)で再生するHTAを作ってみました。

HTA版簡易プレイヤー

今回作るHTAは、以下のようなものです。

まず、セレクトメニューとメディアプレイヤーを以下のようにして配置してみます。メディアプレイヤーは、クラスIDを指定してActiveXコンポーネントとして埋め込んでおきました。

セレクトメニューとメディアプレイヤー配置
<html>
<body>

<h2 align="center">HTA Test</h2>

<p align="center"><select name="list"></select></p>

<p align="center"><object  id="player" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95">
</object>
</p>

</body>
</html>

続いて、JavaScriptでアプリケーションの初期化を行うinit()を作成します。この関数では、FileSystemObjectを使用してローカルファイルlist.txtを読み込み、セレクトメニューにファイル名を設定するようにしました。

プレイリスト作成
function init() {

  var fso = new ActiveXObject("Scripting.FileSystemObject");
  var f = fso.GetFile("list.txt");
  var rs = f.OpenAsTextStream();

  var i = 0;

  // list.txtの各行をlist[]に読み込む
  while (!rs.AtEndOfStream) {

    list[i] = rs.ReadLine();

    i++;

  }

  rs.close();

  // list[]の各要素をメニューに追加
  for (var j=0;j<i;j++) {

    // メニューに追加するoptionを作成
    var n = document.createElement("option");

    // optionの値にlist[]の要素(ファイル名)を設定
    n.text = list[j];

    // メニューにoptionを追加
    document.all.list.add(n);

  }

}

これで、アプリケーションのセレクトメニューにファイル名のリストが追加されたので、あとはセレクトメニューのOnChangeで選ばれたファイルパスをメディアプレイヤーオブジェクトに渡せば再生されます。

function listChange() {

  document.all.player.FileName = document.all.list.options[document.all.list.selectedIndex].text;

}

以上で、HTAベースの「簡易プレイヤー」は完成です。このアプリケーションは、拡張子を.htmlとするとブラウザでWebページとして表示することも出来ます。ただし、その場合はローカルファイルにアクセスできないのでファイル名が読み込まれず、プレイヤーとしては機能しません。

プログラム

まず、test.htaをダウンロードしたら同じディレクトリに以下のようなlist.txtを作成してください(ファイルのパスは、実行環境にあわせる)。

D:\BGM\no1.mid
D:\BGM\no2.mp3
D:\BGM\no3.wma

list.txttest.htaを同じディレクトリに置いたら、test.htaをダブルクリックしてください。これでアプリケーションが起動しますので、セレクトメニューで演奏するファイルを選んで実際に演奏されるか確認してみましょう。

なお、HTAではHTA:APPLICATIONタグを使用することでアプリケーションの表示形式などをカスタマイズできます。このタグでウインドウの表示形態やアイコン、メニューなども設定できるようなので、うまく設定すればよりネイティブアプリケーションに近い外観・機能を持たせることが出来るでしょう。

test.hta


トップ 戻る アイルランドのアクセサリー