- ベストアンサー
ドラッグ&ドロップで読み込むことは・・・
exeファイルにファイルを直接ドラッグ&ドロップをして、 ファイルを読み込むことっていうのはできるのでしょうか? できるのであれば、どのような方法を用いればよいか教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2さんの例はGUIアプリですね。 コマンドラインプログラムの場合は、 int main(int argc,char **argv) { if(argc>1) printf("filename of drag&drop is [%s]\n",argv[1]); } 読み込むなら argv[1] をfopenすればいいでしょう。
その他の回答 (2)
- sha-girl
- ベストアンサー率52% (430/816)
>私の知識では、scanfでファイル名を手動で入力して、fopenで読み込むというやり方しかわからないので、ドラッグ&ドロップでファイルを読み込むことができればいいなぁと考えています。 windowsの場合、絶対パスがコマンドラインで渡されています。たとえばSDKの場合 int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) でいうところの lpCmdLineをみればドロップしたファイルのパスが入っているのでそれをfopenなどで読み込めばいいのです。
お礼
アドバイスありがとうございます。 >lpCmdLineをみればドロップしたファイルのパスが入っているのでそれをfopenなどで読み込めばいいのです。 このアドバイスを見てからしばらく自分で試行錯誤してみたのですが、何だかよくわかりませんでした・・・ ドラッグ&ドロップしたファイルのファイル名やパスを文字出力するような簡単な例ってないでしょうか?
- beam
- ベストアンサー率24% (412/1678)
こんにちは アプリケーションの関連づけがされていれば、exeファイルのアイコンにそれに合ったファイルのアイコンをドラッグ&ドロップすれば、そのソフトが立ち上がります。 たとえばjpegアイコンをインタネットエクスプローラーのアイコン上に持っていけば、インターネットエクスプローラーが立ち上がります、htmlファイルもそうですね。
補足
回答ありがとうございます。 ちょっと私の説明不足でしたかね。 私がやりたいのは、ドラッグ&ドロップすることによってファイルを読み込んでくれるようにCでプログラミングをしたいのです。 私の知識では、scanfでファイル名を手動で入力して、fopenで読み込むというやり方しかわからないので、ドラッグ&ドロップでファイルを読み込むことができればいいなぁと考えています。
お礼
回答ありがとうございます。 なんとなくですが理解できました。 これを参考にして頑張ってみます!