lhspicc.exe 追加インフォメーション

Last Update : 2010/02/xx

◇ はじめに

 「lhspicc.exe」(フリーウェア)は、無料のWindowsプログラミングツール「HSP」(Hot Soup Processor)で作成した実行ファイル(*.exe)やスクリーンセーバーファイル(*.scr)のアイコンを書き換えるコンソールプログラムです。たとえば、HSP用のコンパイラやスクリプトエディタなどを製作して、それにアイコン変更機能を実装したい場合なんかで利用できます。(自作ソフトに同封して配布するのはご自由に。)

 普通にGUI上でアイコンを書き換えたい方は、拙作のアイコン変更ツール「Let's HSPIC!」をどぞー。このコンソールプログラムは、リソースエディタ「Resource Hacker」のような外部ツールは一切使いません。

↑TOP↑

◇ 対応環境と制約

 「lhspicc.exe」が対応している動作環境は下のとおりです。OSにより制限があるので注意してください。つまりは、Windows 9x系OSでは利用できません。また、アイコンの書き換え対象となる実行ファイルにも制限があり、HSP3製実行ファイルのみの対応です。

OS 対応
Windows 98 X
Windows ME X
Windows NT O
Windows 2000 O
Windows XP O
Windows Vista O
変更対象実行ファイル 対応
HSP 2.x製 X
HSP 3.x製 O
HSP製以外 X

 OSが対応しているかをHSPのスクリプトコード上から確認するには、普通にHSPのsysinfo関数(sysinfo命令)をチェックするほかに、下のような方法でも可能です。

;	簡易? OSちぇっく(HSP3)

#uselib "kernel32"
#cfunc BeginUpdateResource "BeginUpdateResourceA" str, int

;	対応していない場合は 0 が返る
	if varptr(BeginUpdateResource) = 0 {
		mes "× 利用できませーん。"
	} else {
		mes "○ 利用できますー。"
	}

 アイコンファイル(*.ico)に関しては特に制約はありません。マルチアイコンタイプも適用できるようにしてあります。

↑TOP↑

◇ DOSコンソール

 「lhspicc.exe」はDOSコンソールプログラム、いわゆるコマンドプロンプト上で動作するものです。これをHSP(HSP2/HSP3)のスクリプト上からの呼び出すには、普通にexec命令やHSP拡張プラグインhspext.dllのpipeexec命令を利用します。

 下は、HSP3でWindows APIを利用したタスク待ち実行を利用したサンプルです。タスク待ち実行は、HSP2のexec命令に存在したモード(モード1)でHSP3では機能が削除されてます。

//	タスク実行待ち実行(HSP3用)

#include "shell32.as"
#include "kernel32.as"

	sdim lpFile, 128
	sdim lpParameters, 128

;	lhspicc.exeのファイルパス
	lpFile = "C:\\Hsp31\\lhspicc.exe"

;	lhspicc.exeに渡すパラメータ
	lpParameters = "-e\"C:\\Hsp31\\hoge.exe\" -i\"C:\\Hsp31\\hoge.ico\""

;	コンソールの表示形式 (0=非表示、1=表示、2=最小化)
	nShow = 1

	dim SHELLEXECUTEINFO, 15
	SHELLEXECUTEINFO = 60, $40, hwnd, 0, varptr(lpFile), varptr(lpParameters), 0, nShow
	ShellExecuteEx varptr(SHELLEXECUTEINFO)

	WaitForSingleObject SHELLEXECUTEINFO.14, -1
	CloseHandle SHELLEXECUTEINFO.14
//	タスク実行待ち実行(HSP2用)

;	lhspicc.exeのファイルパス
	lpFile = "C:\\Hsp31\\lhspicc.exe"

;	タスク実行待ちで
	exec ""+lpFile+" -e\"C:\\Hsp31\\hoge.exe\" -i\"C:\\Hsp31\\hoge.ico\"", 1

↑TOP↑

◇ BATファイル

 「lhspicc.exe」をバッチファイル(*.bat)経由で実行する方法です。下のようなファイル群を同じフォルダに用意してください。

lhspicc.exe
sample.exe (書き換える実行ファイル)
sample.ico (書き換えに利用するアイコンファイル)
hoge.bat

 バッチファイルの中身は下のようになります。Windowsのメモ帳などで打ち込んでテキストファイルを保存し、その拡張子を「*.txt → *.bat」に変更します。ファイル名は何でもかまいません(上では「hoge.bat」という名前)

lhspicc -e"sample.exe" -i"sample.ico"

 4つのファイルがそろったら、BATファイル(*.bat)をダブルクリックして実行してください。

↑TOP↑

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

.

Copyright © 2005-2011 Kpan. All rights reserved.