
No.1ベストアンサー
- 回答日時:
まず、どうやって埋め込んでるかは理解してますか?
まずそこからですよね。
それがわかれば自分で調べられると思いますが。
で、埋め込みの方法は、リソースというものを使っています。VBでも作成可能です。
http://www.galliver.co.jp/writing/susume_vb/tre9 …
取得は 自分自身のリソース以外はVBだけでは出来ないのでLoadResource()、FindResource()などのAPIを使用する必要があります。
リソースの更新はUpdateResource()で可能ですが、9x系では動きません。
>また,モジュールに埋め込まれた画像を同じサイズの画像となら置き換える事ができる気もするのですが可能なのでしょうか?教えてください。
そういう単純な置き換えならこの方法でも可能だと思いますが、サイズといっても、もちろんファイルサイズが同じって意味ですよね?
この回答への補足
回答ありがとうございました。
さっそく以下のソースで試してみたのですが,FindResourceからの戻り値が取得できません。
なぜでしょう?
"XXXXX.exe"はりソースエディタを使い,ビットマップにID"101"を設定しコンパイルしたモジュールです。
定数 RT_BITMAP = 2& はこのように定義しています。
Dim hRsrc As Long ' リソースハンドル
Dim hInstance As Long ' インスタンスハンドル
hInstance = LoadLibrary("XXXXX.exe")
hRsrc = FindResource(hInstance , "101", RT_BITMAP)
FreeLibrary(lnghInstance)
---------
置き換える画像は同じサイズという意味です(^^)
No.2
- 回答日時:
>"XXXXX.exe"はりソースエディタを使い,ビットマップにID"101"を設定しコンパイルしたモジュールです。
"101"ではなく101ではありませんか?
また、FindResourceのDeclare文が以下のようになっていませんか?
Declare Function FindResource Lib "kernel32" Alias "FindResourceA" (ByVal hInstance As Long, ByVal lpName As String, ByVal lpType As String) As Long
このAPIの第2引数と第3引数は文字列を要求しますが、上位16bitが0の32bit整数を受け取ることもあります。
>定数 RT_BITMAP = 2& はこのように定義しています。
これも数値ですよね。
ということで、
Declare Function FindResource Lib "kernel32" Alias "FindResourceA" (ByVal hInstance As Long, ByVal lpName As Long, ByVal lpType As Long) As Long
とし、
hRsrc = FindResource(hInstance, 101, RT_BITMAP)
と、すれば取得できるはずです。
お礼が遅くなって申し訳ございません。
ご指摘のとおりFindResourceの定義を変更すれば値を取得することができました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
大量の標準モジュールを解放す...
-
クラスモジュールを使わないと...
-
VBAで旧字体を異字体に一括で変...
-
フォーム名一覧の取得
-
Excel VBAで、ユーザーフォーム...
-
pythonでファイル移動できません。
-
フォーム内のテキストボックス...
-
エクセルVBAでシートモジュール...
-
Catalyst6506の導入について
-
SendKeysの使い方について
-
「デバイスは PRN を初期化でき...
-
例外処理のフローチャートの記...
-
Net::Telnetモジュールをインス...
-
LCD ディスプレイを Raspberry ...
-
perlをバージョンアップしたら...
-
CPANでのDBIインストールが途中...
-
failed: Can't connect to loca...
-
Excel VBAから利用できるフリー...
-
VBScriptでCurrentDirectoryを...
-
PerlでImage::Magickを使いたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでリンク切れをチェッ...
-
エクセルVBAでシートモジュール...
-
VBでグローバル変数を宣言するには
-
ユーザー定義関数に#NAME?が返...
-
Excel VBAで、ユーザーフォーム...
-
Excel VBA 定義されたプロージ...
-
vba userFormのSubを標準モジュ...
-
標準モジュールを削除したい。(...
-
'Range'メソッドは失敗しました
-
VBAで別モジュールへの変数の受...
-
モジュールからフォームのボタ...
-
モジュールの最大数はいくつな...
-
グラフのX,Y座標を取得したい
-
モジュールとクラスの違いって...
-
【vba】フォームに書いてあ...
-
Form間の値の渡し方
-
VBのフォームモジュールと標準...
-
VBA モジュールで共通に使う変...
-
Excel VBA 『Call』で呼び出す...
-
acwzlibとは?
おすすめ情報