重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

IEなどのブラウザに表示されたHTMLファイル上の画像ファイル(jpeg or gif)を
ドラッグアンドドロップして、画像ファイルのWeb上のパスを得たいと考えています。

現在、以下コードで試していますが、PCに保存されたローカルパス+ファイル名が
帰ってきます。なんとかして画像ファイルのWeb上のパスを取得できないでしょうか。
【例】http://www.abc.co.jp/aaa.jpgなど

こちらの環境はWindowsXP HomeEdition + C++ builder6 proです。


//Dropの設定
DragAcceptFiles(Handle,true);

//---------------------------------------------------------------------------
void __fastcall TForm2::DropFiles(TWMDropFiles inMsg)
{
char fName[255];
int Count = DragQueryFile((HDROP)inMsg.Drop,0xffffffffF, fName, 255);

//Dropされたファイル名を得る
for(int i=0;i<Count;i++){
DragQueryFile((HDROP)inMsg.Drop,i,fName,255);
ListBox1->Items->Add(fName);
}
DragFinish((HDROP)inMsg.Drop);
}

宜しくお願いいたします。

A 回答 (1件)

★アドバイス


・回答が付いていないようなのでちょっとだけアドバイスします。
 IE などのリンクからドラッグ&ドロップしてリンク文字列などを取得する方法は
 『OLE ドラッグ&ドロップ』で実現できると思います。COleDropTarget() など。
・『OLE ドラッグ&ドロップ』キーワードでネット検索するとサンプルが見つかります。
 例えば
 http://www5.plala.or.jp/atata/com/chap7.html→『IDropTargetとOLEドラッグ&ドロップ』
 とか。あと同じような質問が別の掲示板であったので貼り付けておきます。でも HSP です。
 http://fs-cgi-basic01.freespace.jp/~hsp/ver3/hsp …
・ちなみに DragQueryFile() 関数でのドラッグ&ドロップでは IE などの画像リンクを
 取得できません。これを実現させるには COM の COleDropTarget() です。
・以上。
    • good
    • 0
この回答へのお礼

早速のアドバイスありがとうございます。
『OLE ドラッグ&ドロップ』で早速調べてみます。
永遠の初心者には少しハードルが高そうですが頑張ってみます。
ありがとうございました。

お礼日時:2007/12/01 23:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!