Let's HSPIC! 追加インフォメーション

Last Update : 2009/05/12

◇ はじめに

 「Let's HSPIC!」(フリーウェア)は、無料のWindowsプログラミングツール「HSP」(Hot Soup Processor)で作成した実行ファイル(*.exe)やスクリーンセーバーファイル(*.scr)のアイコンを書き換え変更するツールです。デフォルトの「スープカップ」アイコンを自分が用意したアイコンに変更できます。HSP2製、HSP3製のどちらの実行ファイルにも対応してます。

 アイコンを変更する機能以外に、実行ファイルにバージョン情報データを埋め込む機能と、実行ファイル圧縮ソフト「UPX」を使って実行ファイルを実行可能なまま圧縮する機能をサポートしてます。

□ 初回起動時の設定

  1. 実行ファイルのアイコンを変更する処理は、リソースエディタ「Resource Hacker」(Angus Johnsonさん製作)に放り投げてます。そのページの下部分にある「Japanese: (Ver 3.4.0)」をダウンロードしておいてください。サイズは600KBぐらいです。
  2. ZIPファイル「rh_japanese.zip」を解凍してください。解凍してできたフォルダは、たとえば「C:\Program Files\rh_japanese」のような場所に置いといてください。
  3. この「Let's HSPIC!」(lhspic.exe)を起動します。ウィンドウ上で右クリックするとポップアップメニューが開くので、「リソースエディタのパス...」をクリックし、「Resource Hacker」の実行ファイル(ResHacker.exe)を選択してください。

↑TOP↑

◇ アイコンファイル

 アイコンファイル(*.ico)は、1つのアイコンファイル内にサイズや色数の異なる複数のアイコンデータが含まれてる「マルチアイコン」タイプも適用できます。必要に応じて、16x16/32x32/48x48のサイズ、4ビット(16色)/8ビット(256色)/32ビットの色数の画像データを用意してください。32x32サイズのアイコンはいちおう必須です。

 画像ファイルからのアイコンファイルに変換したり、マルチアイコンタイプのアイコンファイルを用意するには、towofu's SOFTさん製作のツール「@icon変換」がお勧めです。下のサイトはアイコン作成について参考になるページ。

↑TOP↑

◇ バージョン情報

 「Let's HSPIC!」はアイコン書き換えついでに、実行ファイルを右クリックすると表示されるポップアップメニューの「ファイルのプロパティ」ダイアログにバージョン情報のタブを用意することができます。

 普通のテキストファイル(*.txt)を用意して、「メモ帳」などを使って下のような書式で記述していってください。1行ごとに「パラメータ名+半角イコール+文字列」の形式です。行の先頭に「;」(セミコロン)があると、コメント扱いになります。

;	←先頭に「;」がある行は無視
(パラメータ名)=(文字列)
(パラメータ名)=(文字列)
	:
	:
パラメータ名 説明
_FILEVERSION 実行ファイル自体のバージョン値です。文字列を必ず「(数値).(数値).(数値).(数値)」の形式で書いてください。日本語やアルファベットは×。
ファイルのプロパティのバージョン情報タブの「ファイル バージョン」に表示されます。エクスプローラなどでファイル上にマウスを置くと表示されるツールチップ上にも表示されます。
(バージョン数値の例)
 バージョン 2.61 → 2.61.0.0
 バージョン 3.0 → 3.0.0.0
 バージョン 3.0a → 3.0.1.0
_PRODUCTVERSION 1ソフトウェア全体のバージョン値です。上と同じように、文字列を必ず「(数値).(数値).(数値).(数値)」の形式で書いてください。1ソフトウェアに1実行ファイルなら、基本的に上と同じ数値でしょう。
Comments 実行ファイル バージョン情報 のページを参照。
CompanyName
FileDescription
FileVersion
InternalName
LegalCopyright
LegalTrademarks
OriginalFilename
PrivateBuild
ProductName
ProductVersion
SpecialBuild

 同封してる「version_sample.txt」はサンプルファイルです。たとえば、「version_ほげほげパズル.txt」や「version_あいうえツール.txt」みたいな感じで、製作してるプログラムごとにバージョン情報のデータを用意しておくといいと思います。ちなみに、このバージョン情報のデータは、プログラム自体には何の影響もないので、情報が間違っていても別に問題ありません。

↑TOP↑

◇ UPX圧縮

 実行ファイル圧縮ソフト「UPX」をHSP製実行ファイルに適用する機能です。実行ファイル(*.exe/*.scr)を実行可能なままサイズを小さくしてしまうことができます。普通にHSP製実行ファイルにこれを適用しようとすると、エラーで起動できなくなってしまうので、「Let's HSPIC!」はエラーにならないよう圧縮処理を行います。(ただ、スクリプトの量がかなり大きい場合はそれほどサイズは変化しません。)

 UPXは「upx***w.zip | Win32 console version」というのを公式サイトから別途入手してください。ZIPファイルを解凍後、実行ファイル「upx.exe」だけを「Let's HSPIC!」と同じフォルダに置いといてください。他のファイルはいらないので削除して問題ありません。

 Windows XP SP2以降やWindows Vista環境で、Windows標準のZIPファイル解凍機能を利用した場合、「upx.exe」が実行される段階で「セキュリティの警告」ダイアログが表示されてしまうので、あらかじめファイルのプロパティダイアログから[ブロックの解除]を行っておいてください。(参照

 「Let's HSPIC!」のバージョン0.9から、UPXのコマンドラインオプション文字列を追加指定できます。設定ファイル「lhspic.ini」を直接編集してください。オプションが複数ある場合は、半角スペースで区切ります。

UPXCommand=(コマンドライン)

 たとえば、UPXの正式バージョン3.00以降で試験的に対応している「LZMA」アルゴリズムを使用する例。これは圧縮ファイルの「7-Zip形式」で使われてる圧縮アルゴリズムで、通常よりも若干圧縮率が高い感じです。

UPXCommand=--lzma

↑TOP↑

◇ Q&A

アンチウイルスソフト・セキュリティ対策ソフトが「ウイルス」と認識します。
 ウイルス名「Bloodhound.Overpacked」や「KillWin」は、対策ソフト側の誤認識です。(最新版で対策済み)

ウィンドウ上にHSP製実行ファイルをドラッグ&ドロップすると、Windowsのシステムエラーなどでプログラムが落ちます。
 環境によって起こるバグです。(最新版で修正済み)

HSP製実行ファイルを読み込んでも、実行ファイルのパスとして認識しません。
 Windows 9x系OSでのみ起こるバグです。(最新版で修正済み)

アイコンファイルを読み込んでも、アイコンファイルのパスとして認識しません。
 正しいアイコンファイル(*.ico)か、アイコンファイルが壊れてないかを確認してください。BMPファイル(*.bmp)の拡張子を変更しただけのものは利用できません。

アイコン変更後も実行ファイルのアイコンが変わってません。
Windows Vista環境で中or小アイコンの場合に書き換え前のアイコンが表示されます。(情報提供、GENKIさん)
 Windowsにはエクスプローラなどで表示を高速化するためアイコンデータをキャッシュする機能が存在します。そのため、書き換え前のアイコン画像が反映されたままになる場合があります。
 「Resource Hacker」で実行ファイルを読み込んで、[Icon Group]ツリーをチェックすれば、アイコンは書き換わってることが分かるはずです。エクスプローラで[表示]→[最新の情報に更新]を行う、実行ファイルのコピーを新規作成する、究極的にはPCを再起動して確認してみてください。

アイコンの書き換えやバージョン情報付加を行わないで、UPX圧縮だけを施したい。
 UPX圧縮だけを行うことはできないようになっています。UPX圧縮専門のツール「Let's HSPUPX!」を利用するか、ダミーのアイコン(HSPスープカップ)を指定しちゃってください。

アイコンの書き換えやUPX圧縮に異常に時間がかかります。
  実行ファイルのサイズがかなーり大きめだと、処理に時間がかかります。この時、「Let's HSPIC!」が半フリーズ状態になってしまう場合があります。「Resource Hacker」を使ってHSPランタイムのアイコンをあらかじめ書き換えておく手法を試してみてください。(→ HSP製実行ファイルのアイコン変更

UPX圧縮の段階でエラーが表示されます。
 外部プログラムUPXに放り投げる関係で、エラーが表示されてしまう場合があります。PCを再起動して試してみてください。

「Let's HSPIC!」、「Resource Hacker」、「UPX」をアンインストールするには?
 「Let's HSPIC!」は、本体と同じフォルダに出力される設定ファイル「lhspic.ini」に設定を保存してます。また、Angus Johnsonさん製作の「Resource Hacker」も同様に「ResHacker.ini」に保存してます。どちらもレジストリはいじってないので、フォルダごと削除してください。「UPX」(upx.exe)は設定データを出力する処理がそもそもないので、そのまま実行ファイルを削除してください。

自分が製作したプログラムからアイコン書き換え処理を利用したい。
 「Let's HSPIC!」自体には外部プログラム(自作HSPコンパイラとか)から利用できる機能は用意してません。で、「lhspicc.exe」というDOSコンソールプログラム(ソースコード付き)を公開してます。これは外部プログラムからHSP3製実行ファイルのアイコン変更を想定してるものです。アイコンの書き換え処理を自身で実装してるので「Resource Hacker」はいりませんが、Windows 9x系OSでは利用できません。
 その他、実行ファイルのPEヘッダーの知識が必要ですが、バイナリレベルで書き換えるとか。(→ 参照、旧HSP3公式掲示板の過去ログ

バージョン番号はどのような数値にするのがいいのでしょう。
 バージョン番号の決め方は人によってバラバラで、決まりも別にありません。
 たとえば、よくあるのが正式版が「1.0」、小さな変更を行ったものが「1.0.1」、それなりに普通の変更で「1.1」(1.1.0)、かなり大きな変更で「2.0」(2.0.0)というような感じで数値を増やしていきます。(Windowsのバージョン変遷、HSPのバージョン変遷

HSP 3.2ベータ1に付属する拡張ランタイム「hsp3mt.hrt」を利用した実行ファイルが「無効なファイルです。(1)」エラーになる。
 これについては原因は分かってますが、互換の問題が出てくるのと「ベータ版+試験的に用意された拡張ランタイム」なので対応を保留してます。(「HSP 3.2ベータ2」ではこの現象は起こらなくなったので対処はしないつもりです。)

・「無効なファイルです。(数値)」というエラーダイアログが表示されます。
 書き換え作業の途中で表示されるダイアログで、数値には1、2、3があります。1と2の場合は、問題なく起動できるHSP製実行ファイルか確認してください。3の場合はUPX圧縮に失敗している場合に表示されます。
 調査してほしい場合は、Eメールやアップローダなどで問題のある実行ファイルとアイコンファイルを提供していただければ調べます。プログラムの中身は、実行ファイルの起動を確認できる「mes命令」(print命令)程度のものでOKで、ソースコードはいりません。

★ 「Let's HSPIC!」に関して何かありましたら、こちらのページの最下部にある掲示板かEメールでどーぞっ!

↑TOP↑

Mac ソフトのことなら act2.com

.

Copyright © 2005-2011 Kpan. All rights reserved.