#!tcsh
if ($#argv != 0) then
convert -colors 255 -geometry 16x16 $1 icon16.xpm
convert -colors 255 -geometry 32x32 $1 icon32.xpm
toico -o favicon.ico icon16.xpm icon32.xpm
else
echo "USAGE:"
echo "% iconmake imagefile"
echo "make 'favicon.ico' in this directory"
endif
% iconmake xxx.jpg
#!ruby -Ks require "exerb/executable" require "exerb/resource" require "exerb/recipe" #製作するターゲット名 TARGET = "win_rdtitle" #埋め込むアイコン名 ICON = "favicon.ico" #レシピファイル ##事前に「ruby -r exerb/mkexr xxxx.rb」を実行して作成 RECIPE = TARGET + ".exr" #出力ファイル名 OUTPUT = TARGET + ".exe" #コアファイルを指定 CORE = "c:/cygwin/usr/local/ruby/share/exerb/ruby182g.exc" #アイコンの指定 ##前2つの16はアイコンのサイズ ##一番最後の8は 256色アイコンという意味(4なら16色アイコン) ##この辺りは埋め込むアイコンに応じて書き換える icon16 = Exerb::Resource::Icon.new_from_file(ICON, 16, 16, 8) icon32 = Exerb::Resource::Icon.new_from_file(ICON, 32, 32, 8) ##グループアイコン(多数のサイズを併せ持つようなの)の作成 group_icon = Exerb::Resource::GroupIcon.new group_icon.add(1, icon16) group_icon.add(2, icon32) #リソースに埋め込んで作成 recipe = Exerb::Recipe.new_from_file(RECIPE) executable = Exerb::Executable.new_from_file(CORE) executable.rsrc.add_icon(1, icon16) executable.rsrc.add_icon(2, icon32) executable.rsrc.add_group_icon(100, group_icon) executable.rsrc.add_archive(recipe.archive) executable.write_to_file(OUTPUT)
↑このようなスクリプトとMakefileを自動生成するスクリプトを
以下に用意しました。
#使用例 Makefileとmake.rbが出来る % config.rb --target main.rb --core ruby182g.exc --ruby-home C:/cygwin/usr/local/ruby-1.8.2-i386-mswin32/ # *.exeを作成 % make
#メインフレームの..
module Frm_form1
#起動時に呼ばれるメソッド内に記述
def self_created
#自分のexeファイル名
exepath = "xxxx.exe"
if test(?e, exepath)
extractIconA = Win32API.new('shell32','ExtractIconA','LPI','L')
#*.exeからアイコン情報を取得
myIconData = extractIconA.Call(0, exepath, 0)
#謎のコマンドで置き換える
sendMessage(128, 0, myIconData)
end
....
test()で括っているのは、
ソースから起動するとき等,
*.exeが無い時にエラーにしないためです。私のツールのページにある migemocsvのようなソフトをビルドするための準備方法です。
swin.soは以下に置く C:\cygwin\usr\local\ruby-1.8.2-i386-mswin32\lib\ruby\site_ruby\1.8\i386-msvcrt\swin.so vrubyは以下に置く C:\cygwin\usr\local\ruby-1.8.2-i386-mswin32\lib\ruby\site_ruby\1.8\vr\
% cd exerb-3.3.1/ % ruby setup.rb config % ruby setup.rb setup % ruby setup.rb installここで注意は、「ここのrubyは1.でインストールしたwin32版」である事。
% which ruby /bin/rubyになってたりしたら、cygwinの方のrubyなのでうまく行きません。。
ライブラリが以下にインストールされます C:\cygwin\usr\local\ruby-1.8.2-i386-mswin32\lib\ruby\site_ruby\1.8\exerb コアファイルが以下にインストールされます C:\cygwin\usr\local\ruby-1.8.2-i386-mswin32\share\exerb