Kuroda Software Service
リソース格納
  [サイトマップ]

コンテンツ内メニュー

表示モード 全項表示  部分表示



マークの色と認証の関係

一般公開

無料認証

購入認証


認証についての説明

無料アカウント作成フォーム

有料ページ購入フォーム


ほかのコンテンツトップページ

リソース格納

HTABOXエンコーダーはあらゆるファイルをEXE内に格納できます。

         EXEファイルへのリソース格納とは

HTMLアプリケーションはHTMLファイルや複数の画像ファイル等で構成されるのが普通です。HTABOXエンコーダーはソースファイルとなるJSまたはVBSをEXE内に格納した後、サブフォルダが存在すればそのフォルダ内のファイルもEXE内に格納するかをダイアログで問い合わせてきます。「はい」を選択した場合そのサブフォルダ名をリソースタイプとしてEXEファイルに格納されます。

リソース格納は孫フォルダについては行われませんので注意してください。

これにより配布時にスマートなファイル構成とできますが、開発時からリソース格納に対応したフォルダ構造としなければなりません。

RES://プロトコルの特徴

RES://プロトコルとはEXEまたはDLLファイル内のリソースをURLと解釈してページを表示できるものです。c:\Sample.exeのリソースタイプHTMにMain.htmがある場合res://c:\Sample.exe/htm/main.htmというURLでページの表示が可能となります。

画像ファイルを管理するためにHTMLファイルが存在するフォルダにサブフォルダを作成して <img src="img/hoge.png"> という相対参照がよく行われますが、HTMLファイル自体がHTMリソースに格納されている事を想定した場合、その子としてリソースタイプを格納することはできませんのでこういった相対参照は不可能です。

HTMLファイルをhtmフォルダに、画像ファイルを同列なimgフォルダに置きHTML中の相対参照を<img src="../img/hoge.png">とすればなんら問題はありません。

スクリプトファイル
      htmフォルダ(HTMLファイル群)
      imgフォルダ(画像ファイル群)

というフォルダ構造を開発時に心がける必要があることに注意してください。

         リソース格納を前提としたスクリプト

CreateHtaWindowまたはCreateDlgWindowで指定するファイルも開発時のWSH環境とEXE内リソースに対応するものでなければなりません。WIN32.GetScriptPath()はWSH環境において実行中のスクリプトパス、EXE格納後の実行においてEXEのパスを返します。したがってパス終端が ".exe" であるかを判断すれば両者に対応する記述とすることができます。

var MAIN;

if(WIN32.GetScriptPath().search(/\.exe$/i) == -1)

{

    MAIN = WIN32.CreateDlgWindow(WIN32.GetScriptDirectory() + "\\htm\\Main.htm", WIN32);

}

else

{

    MAIN = WIN32.CreateDlgWindow("res://" + WIN32.GetScriptPath() + "/htm/Main.htm", WIN32);

}

 

お問い合わせ
©クロダ ソフトウェア サービス programmed by hidebou