HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0430
icoファイルはPACKFILEに追加しても指定できない?4未解決


リンク

2013/4/30(Tue) 21:52:27|NO.53727

ttp://hsp.tv/play/pforum.php?mode=pastwch&num=47647
このモジュールを使って、トレイアイコン表示をしています。

DestroyTrayIcon:SetTrayIconFile "normal.ico":CreateTray...

のように切り替えるコードを追加(今のアイコンを破壊、別のアイコンファイルを指定、表示)で
HSPエディタ上ではうまくいくのですが、実行ファイルを作ってみるとうまくいきません。

実行ファイルと同じフォルダに、切り替えるときのicoファイルをコピーしておくと
切り替えられますが、”できればEXEに同梱したい”です。
PACKFILEに追加してもできないのはなぜでしょうか?

(EXEファイル自体のアイコン変更には「lhspic」を使っています。)


HSPエディタ上での実行
EXEファイル単体&icoファイル

×
EXEファイル単体(PACKFILEで同梱)
EXEファイル単体(梱包なし)←当然ですが



この記事に返信する


KA

リンク

2013/5/1(Wed) 12:01:46|NO.53734

パックファイルはHSP本体しかアクセス出来ないからでしょう。
一旦ファイルとして書き出せば可能だと思います。



リンク

2013/5/1(Wed) 14:41:44|NO.53736

> 一旦ファイルとして書き出せば
確かにそうなのですが・・・

でも(記憶が正しければ)picloadなどでは、PACKFILEに入れたJPG画像などを
普通に参照できます。
画像が参照できるのに、icoが参照できないのが不思議です。



test

リンク

2013/5/1(Wed) 15:24:49|NO.53737

KAさんは
> パックファイルはHSP本体しかアクセス出来ない
と述べています。つまりパックファイルはHSPが持っている機能であると考えることができます。
picloadはHSPの命令なのでパックファイルに対応しています。つまり、ファイル名を見つけたらパックファイルの中から探すことができます。

しかしそのモジュールのetTrayIconFileで設定したファイル名は、最終的にWin32 API(Windowsに備わっている命令)のExtractIconExによって読み込まれています。
これはHSPが用意した機能ではないですから、パックファイルには対応していないということです。

逆にいえば、試していませんが、たとえicoなどであっても、HSP命令のbloadなどならパックファイルに対応しているので読み込めます。



暇人

リンク

2013/5/1(Wed) 17:24:14|NO.53742

タスクトレイ アイコン操作
http://lldev.jp/hsp/module/tticon.html
ここのmakeiconモジュールにあるmake_icon命令使えば
ウィンドウに読み込んだ画像から
アイコンハンドル取得できるから
ExtractIconExの代わりに使えそうな気がする



ONION software Copyright 1997-2023(c) All rights reserved.