掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB6でGdipCreateBitmapFromResource関数を使用するには? (ID:87349)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
魔界の仮面弁士 さん レスありがとうございます。 > こちらでは同じコードで、Win2000機/WinXP機、どちらも表示されたのですが…。 当方の環境を書き忘れていました。Win98です。 ...ということは、環境依存の現象ということですね。残念! >> 他のEXEやDLLでも全て同じエラー(InvalidParameter)で失敗します。 これは、誤りでしたので、訂正します。 いろいろ試した結果、LoadLibraryEx()関数の第3引き数(dwFlags)の指定を変更してやると、成功したり、失敗したりする様です。例えば、 1.LoadLibraryEx(sModuleName, 0, LOAD_LIBRARY_AS_DATAFILE) では、 "Shell32.dll", "#130" の場合、表示される。 "C:\Windows\Explorer.exe", "#150" の場合、表示されない。 但し、他のDLL, EXEでもLoadLibraryEx関数の戻り値は非ゼロです。 2.LoadLibraryEx(sModuleName, 0, 0) では、 上記DLL, EXE 共に、表示される。しかし、他のEXEでは、LoadLibraryEx関数 の戻り値がゼロ(hModule=0)で、表示されない場合が多い。 それと、hModule<>0 で、表示される場合と表示されない場合に、 GdipCreateBitmapFromResource関数のGDI+ StatusとErr.LastDllErrorを調べてみると、妙な結果になりました。 ・表示される場合 GDI+ Status = 0 (Ok) Err.LastDllError = 87 (パラメータが正しくありません。) ・表示されない場合 GDI+ Status = 2 (InvalidParameter) Err.LastDllError = 0 (操作は正常に終了しました。) 他の方法を検討してみたいと思います。 解決したら、報告します。 いろいろとありがとうございました。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.