初めまして。白白といいます。
LoadImage関数を使って、.exeがどこにあっても同じディレクトリ内のPictureというフォルダから画像を読み込ませたいのですがうまくいきません。
.exeと同じディレクトリ内に01.bmpを置いた場合は
HBITMAP hBmp ;
(中略)
hBmp = (HBITMAP)LoadImage(NULL, "01.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE) ;
で、画像を表示できたのですが、.exeがあるディレクトリにPictureというフォルダを作り、その中に01.bmpを入れ"01.bmp"を"..\Picture\01.bmp"と置き換えてみたのですが画像を表示できませんでした。
App.Pathからビットマップファイルのパスを生成してみてはいかがでしょうか?
というか、VBでしょうか?
> HBITMAP hBmp ;
どうも C++ の SDK プログラミングに見えてしょうがないのですが。
C++であれば、GetModuleFileName関数からexeのパスを取得して、目的の
ビットマップファイルのパスを取得するようになります。
環境は、必ず明示しましょう。2度手間です。
"..\"が何か理解できていない模様。(カレントフォルダの親)
因みにカレントフォルダは".\"。
#コマンドプロンプトで"cd ..\"やると確認できるかと。
>App.Pathからビットマップファイルのパスを生成してみてはいかがでしょうか?
>
↑に賛成。
カレントフォルダは変更される可能性があるので相対パスでやるより絶対パスを求めてやった方がいいですよ。
>どうも C++ の SDK プログラミングに見えてしょうがないのですが。
どうやら私が間違えてVBの方に書き込んでしまったようです。
お騒がせして申し訳ありません。
その上C++での方法まで教えて頂き有難う御座います。
以後、この様な間違いをしないよう注意致します。
ツイート | ![]() |